@(#)top: ######## ################## ###### ###### ##### ##### #### #### ## ##### #### #### #### #### #### ##### ##### ## ## #### ## ## ## ### ## #### ## ## ## ##### ######## ## ## ## ##### ## ## ## ## ## ##### ## ## ######## ## ## ## ### ## ## #### ## ## ##### #### #### #### #### ##### #### #### #### #### #### ###### ##### ## ###### ###### Issue #15 ################## Version 1.0 ######## April 1998 (Text Logo design by Mark Lawrence - mark.lawrence@regency.tafe.sa.edu.au) ------------------------------------------------------------------------- @(#)contents: Table of Contents Features 6. Click to Mode Switch: The 40-80 Mouse switch by Michael Nausch (Reference: hw) You have graduated from a 64 to a "you'll have to pry my dead fingers from the keyboard" 128. However, your favorite editor works only in 40 column mode and your application runs in 80 column mode. Your 40/80 key is giving you carpal tunnel sybndrome, and you think no end is in sight. Well, let Michael Nausch relieve some of your problems with this innovative project. 8. The Canonical List of Commodore Produced Products, v2.0 by Jim Brain (Reference: list) In 1994, I decided to determine what specific models of CBM equipment I had in my collection, and I posted the results on the Internet, with some simple questions I had. Well, responses came in, and thus began the Commodore Products List, aiming to catalog every model and mutation of every product Commodore ever produced. Extended with information gleaned over the last year, I present version 2.0 of this reference work. 11. Scott Ballantyne : Blazing into Forth - An Interview by Jim Lawless (Reference: forth) Have you ever wondered who wrote the programming language you use for your projects, or why? Well, for those who have ever used Blazin' FORTH, here's your chance to get the scoop on how the Commodore implementation of FORTH came to be. 15. Technical Information on the VIC-20 by Ward Shrake (Reference: vic) Of the CBM 8-bits, the 64/128 machines garner the most talk and support. However, the VIC-20 maintains a loyal and devoted following, in spite of living in the shadow of its bigger brothers. Ward Shrake provides some pin out information and technical notes on the "friendly computer", Commodore's first home computer system. Columns 4. Hi Tech Trickery by Sean Adams (Reference: trick) Well, just when you thought everything about the NMOS 65XX line had been documented, exploited, and understood, Sean proves everyone wrong. Sean discusses a previously unknown side effect of the illegal $AF opcode that turns on extra cicutry in the NMOS code and reduces cycle exuction times by almost half for 3+ cycle opcodes! Imagine executing an Indirect X EOR (Opcode $41) in 3 cycles. 10. Hacking BASICs by Richard T. Cunningham (Reference: basic) The JAVA community does not have a monopoly on the concept of "write once, run anywhere". Richard discusses ways to write your BASIC apps so they will run equally well on both the C64 and the C128, while not compromising speed or flexibility. 13. Twiddling the Bits by Frank Kontros (Reference: bits) In this age of 33,600 bps modems with a 56K standard on the way, Getting by with the software UART in the 64 and 128 is even harder to smallow. In the past, commercial offerings like Swiftlink and the new Turbo232 have offered us hope in the form of a hardware UART replacement. However, many do-it-youself folks have put together the DataPump circuit by Perry M. Grodzinski. Well, Frank Kontros has updated this useful circuit with simpler circuitry and an easier layout. Departments 1. The (cough, cough) Hacking Editor (Reference: editor) 2. Input/Output (Reference: io) 3. Newsfront (Reference: news) 5. Hacking the Mags (Reference: mags) 7. FIDO's Nuggets (Reference: fido) 9. Hack Surfing (Reference: surf) 12. Commodore Trivia (Reference: trivia) 14. ? DS, DS$: rem The Error Channel (Reference: error) 16. The Next Hack (Reference: next) 17. Hacking the Code (Reference: code) ------------------------------------------------------------------------- @(#)legal: Commodore Hacking Legal Notice Commodore and the respective Commodore product names are trademarks or registered trademarks of Amiga Technologies, Inc, Gateway 2000, Inc., or Tulip COmputer Corporation. Commodore Hacking is in no way affiliated with any said companies. Commodore Hacking is published 4 times yearly by: Brain Innovations Inc. 10710 Bruhn Avenue Bennington, NE 68007 The magazine is published on on-line networks free of charge, and a nominal fee is charged for alternate mediums of transmission. Permission is granted to re-distribute this "net-magazine" or "e-zine" in its entirety for non-profit use. A charge of no more than US$5.00 may be charged by redistribution parties to cover printed duplication and no more than US$10.00 for other types of duplication to cover duplication and media costs for this publication. If this publications is included in a for-profit compilation, this publication must be alternately available separately or as part of a non-profit compilation. This publication, in regards to its specific ordering and compilations of various elements, is copyright (c) 1995-98 by Brain Innovations, Incorporated, unless otherwise noted. Each work in this publication retains any and all copyrights pertaining to the individual work's contents. For redistribution rights to individual works, please contact the author of said work or Brain Innovations, Inc. Brain Innovations, Inc. assumes no responsibility for errors or omissions in editorial, article, or program listing content. ------------------------------------------------------------------------- @(#)info: Commodore Hacking Information Commodore Hacking is published via the Internet 4 times yearly, and is presented in both ISO-8859-1 and HTML versions. This and previous issues can be found at the Commodore Hacking Home Page (http://www.jbrain.com/chacking/), as well as via FTP (ftp://ftp.jbrain.com/pub/cbm/mags/c=hacking/) In addition, the Commodore Hacking mail server can be used to retrieve each issue. To request a copy of an issue, please send the following electronic mail message: To: ftpmail@mail.jbrain.com Subject: FTPMAIL Body of Message: open cd /pub/cbm/mags/c=hacking/ help ascii send c=hacking13.txt quit To retrieve a PKZIP 1.01 archive of the individual articles in Commodore Hacking, request the file c=hacking13.zip To subscribe to Commodore Hacking and receive new issues as they are published, please send the following email message: To: listserv@mail.jbrain.com Subject: LISTSERV Body of Message: help subscribe chacking-dist Firstname LastName msglen review chacking-dist quit To subscribe to the PKZIP1.01 forma, substitute the following line for the subscribe command above: subscribe chackzip-dist Firstname LastName msglen (msglen is largest size of email message in line you can receive. Each line is roughly 50 characters, so 600 lines is about 30000 bytes. When in doubt, choose 600) example: subscribe c=hacking-dist Jim Brain 600 Although no fee is charged for this magazine, donations are gladly accepted from corporate and individual concerns. All moneys will be used to defray any administrative costs, subscribe to publications for review, and compensate the individual authors contributing to this issue. If you can not obtain Commodore Hacking through any other means and wish to purchase a copy on disk, please address a check or money order to "Jim Brain" and mail to: Jim Brain 10710 Bruhn Avenue Bennington, NE 68007 Disk copies of each issue: USD$5.00 All prices cover only duplication and materials and include shipping in the United States. For disk copies, please specify format: Computer Disk Size Capacity Notes CBM/PETSCII 5.25 inch 170 kB 1541 format 340 kB 1571 format 3.50 inch 800 kB 1581/FD2000 format 1.6 MB FD2000/FD4000 format IBM/ASCII 3.50 inch 720 kB Double Density 1.4 MB High Density Any persons wishing to author articles for inclusion in Commodore Hacking are encouraged to view the submission guidelines on the WWW (http://www.jbrain.com/chacking/). ========================================================================= @(#)rch: Reading C=Hacking Starting with Issue 11 of Commodore Hacking, the new QuickFind indexing system is utilized to aid readers of the text version in navigating the magazine. At the top of each article or other important place in the magazine, a word prefixed with a special string is present. (See the title of this article for an example.) Throughout the magazine, if an article is mentioned, it will be followed by a reference string. For example, if we mentioned this article, we would add (Reference: rch) after the name. By using your favorite editor's search function and searching for the string after the word "Reference:", prefixed by the magic prefix string, will move you directly to the article of choice. To merely skip to the next article in the magazine, search only for the magic prefix string. Some handy indexing strings possibly not referenced anywhere are: top top of issue bottom bottom of issue contents table of contents legal legal notice For those with access to a UNIX system, the command "what" can be run on the issue, which will result in all the article titles being printed. A slightly different magic prefix string "@(A)" is used to delimit sub-topics or main heading in articles. The text after the magic string differs depending on article content. For the Input/Output column (Reference: io), the text after the magic prefix will either be "c" for comment, or "r" for response. In features and columns, a number after the prefix indicates the ordinal of that heading or sub-topic in the article. If a specific sub-topic is referenced elsewhere in the article, a sub-topic reference will be indicated. A reference to "@(A)r" would be written as "(SubRef: r)". As time goes on, the role of this indexing system will be expanded and changed to ease navigation of the text version, but minimize the clutter added by these extra items. ========================================================================= @(#)editor: The Hacking Editor by Jim Brain (editor@mail.jbrain.com) Better Late Than Never Unless you've been offline and out of touch for the past year, you've no doubt wondered what happened to Commodore Hacking. Many thought we had given up the ghost. Well, we are still kicking, although a lot has changed in the time since issue #14 went out. Readers deserve an explanation for our absence, but I'll try to keep it short. The Hacking Headquarters move in '96 delayed issue 13, which delayed issue 14, even though I tried unsuccessfully to meet the issue 14 October 1996 deadline. I tried to edit issue 15 in January 1997, but stopped due to a low number of technical articles. C=H received some criticism after issue 13 for its "diminishing technical content", so I wanted to make sure issue 15 didn't disappoint. The article selection improved by May, but a post in comp.sys.cbm caused work to stop, and I didn't pick up the work again until August. At that time, I chatted with Stephen Judd, who motivated me to get back on the issue. However, just when things started rolling again, my wife took ill, and that brings us to a few weeks ago. In short, it's been a trying time for your editor, but things are finally looking better. Not only is the issue taking shape, but my wife's illness has a silver lining: a tiny BRAIN will be joining us in late July. The astute reader have noticed a trend developing, but I'll clarify. It's safe to say I have more than a few CBM projects in progress, Commodore Hacking being just one. The above underscores the fragile nature of my environment at present, and I have been warned that chaos will rule starting in August. So, it's time to make some changes. The delay for this issue is unacceptable to me, even considering my explanation, and I do not wish to "kill" the publication; I took over editorship expressly to continue this fine journal. With this issue, It is with bittersweet feelings that I formally turn the editorial office over to Stephen Judd. I am convinced that Steve can take this publication into new territory and satisfy even the most discerning of technical reader. I regret that I can no longer provide this publication with the attention it deserves, but I find happiness in returning as a reader and "sometimes" article writer, if Steve deems my work worthy of merit :-). I'll comfort myself with issue 16. I'll just print it out and peruse it at my leisure. Since I still hold the office, I'll introduce our new editor, and hopefully set the correct expectations for the future of Commodore Hacking. In 1995, when Craig Taylor (the originator of C=H) graduated and inquired about a editorial successor, Steve and I both applied. If memory recalls, Steve was active at school, so I took the editorship. Now, my operating environment is less stable. I rather think of it as "tag team editting". Steve brings with him a desire to focus more intently on technical articles and projects. During my tenure as editor, I've tried to create a more "balanced" publication, based on the status of CBM publications in 1995, when I started. In fact, Craig Taylor, this publication's originator, applauded the changes. Nontheless, Craig's early work set the tone for this publication, and I've been remiss in maintaining the level and number of technical articles. Steve and I still feel the "lighter fare" I've introduced has merit, but we think the two should exist in separate publications. To that end, Commodore Hacking will concentrate on delivering plenty of technical content, while I am investigating a monthly newsletter publication for the less technical items. This way, the less technical readers won't have to wait for three months or more for a new installment of Hack Surfing, but the technical readers can concentrate on new algorithms and applications. Steve runs with the technical crowd more than I. This has distinct benefits when publishing a technical magazine. After I took over in 1995, some regular C=H writers had to forego authoring for the publication. That left me scrambling to find new talent to write. Aside from being one of the regular contributors, Steve knows many folks with new ideas and concepts that can only benefit from publication in this journal. So, many changes will accompany issue 16, and I feel confident that most will welcome the changes. However, there are a number of items that will not changes: Commodore Hacking will always succeed or fail on the quality of its content, not Steve's editorship ability. With this new direction, technical articles will comprise the bulk of the publication. If you enjoy the technical aspects of the CBM platform, I ask that you support this journal with an article about your insights or discoveries. It cannot succeed without you. www.jbrain.com will continue to host the home page for Commodore Hacking. I will need to retool the site to convert the new issues, but text issues will always be available, and you can continue to contact the editor of Commodore Hacking at editor@mail.jbrain.com. In addition, the chacking distributions lists will continue to be offered at jbrain.com. In short, only the editor and the style are changing. I would like to thank all of you for supporting Commodore Hacking. In addition, I would like to thank the article contributors. Without you, there would be no publication. And to those who think I am moving on, save your concerns. I am not discontinuing support for Commodore, just making some room in my schedule for some family (and baby) time. Enjoy YOUR magazine, Jim Brain (editor@mail.jbrain.com) editor ========================================================================= @(#)io: Input/Output Obviously, Commodore Hacking depends on the comments and article submissions from the Commodore community to flourish. Everyone sees the articles, but let's not forget those comments. They are very helpful, and every attempt is made to address concerns in them. Address any comments, concerns, or suggestions to: Commodore Hacking 10710 Bruhn Avenue Bennington, NE 68007 editor@mail.jbrain.com (Internet) @(A)c: Kudos for the Mag! From: Tim Wright Dear C=Hacking, I've hit the jackpot... Browsing the Web under the topic C64 I hit this treasure trove of information, all neatly laid out waiting to be downloaded. You are a total and utter star! Keep up the excellent work. Kind Regards, Tim. :-) @(A)r: Well, I am not sure I deserve the credit. I simply package what the Commodore technical community offers and disseminate it to the public. The success of Commodore Hacking ahs more to do with the quality of the folks who compose the content than the dude that pastes it together. So, this goes out to all the past and present article contributors to Commodore Hacking. @(A)c: The "Virtual 1541" Revisited From: HOFMAN%NLEV00@btmv56.se.bel.alcatel.be (Peter Hoffman) Dear C=Hacking, In issue #14 of C=Hacking, there was a small article about a virtual 1541. You wrote: "The closest thing as yet is the 64NET package, which allows you to load and save programs to the IBM PC hard drive like it was a regular CBM drive." I do not agree, I tried an old version of SERVER64, and it comes much closer, since it uses the same cable as X1541, so you just need to build a cable. 64NET is a bit more complicated. I do not know where I got it and who wrote it, but I will look that up. The version I have at home, has some flaws, but I used it with a 286-12MHz PC and that worked. Regards, Peter Hofman @(A)r: We stand corrected. SERVER64 offers the advantage over 64NET that no code modifications are needed to programs to allow them to "see" the virtual drive. The downside of SERVER64 is the slow speed of the serial bus (64NET uses a parallel cable). So, users have two choices for a "virtual drive". For yet another offering, see the next letter: @(A)c: The "Virtual 1541" Revisited, Part 2 From: Torsten Paul Dear C=Hacking, I have good news about your statement about a "Virtual 1541" in Issue 14: I've written a program that emulates the standard serial protocol with a PC (under DOS). This makes it possible to load files without any special software on the C64 side. The only thing needed is a so called 'X1541 cable' to connect the C64 to the PC. It's not possible to load disk sectors or read drive memory and for fastloaders there is no chance at all, because there is no hardware emulation. But you can transparently access disk images, tape images and lynx archives. The program is quite new and not very well tested on different platforms but it works on my two PCs at home (a 486DX4/100 and a really old 386sx/25). It's available under 'http://os.inf.tu-dresden.de/~paul/VC1541/'. Torsten. @(A)r: We tahnk you for the information. So now, users have not one, but three choices if they want to use an IBM PC as a glorified file server. How ironic that a PC would be used in such a way. @(A)c: Giving Birth to Twins (magazines) From: padge@iquest.net (Breelander) Dear C=Hacking, I'd just like to say that you're doing a terrific job with this mag! Also: could you make multiple copies of C=Hacking? (a "small" version and a full blown version) I divide my time between Commodores and PC's pretty evenly, and since I read your mag on a PC with about 200 megs of free space, size is no object to me. So PLEASE! Pack it with stuff! -Bree @(A)r: Well, as we noted above, we appreciate the great reviews, but we really need to pass on those congratulations to the authors and contributors. As for your request for two versions of Commodore Hacking, your wish has been granted, at least in a roundabout way. Check out "The Hacking Editor" (Reference: editor) for details. @(A)c: More "First Computer" Stories From: Jeff Salzman Dear C=Hacking, I read your opening story in C=H #14 and found it quite interesting. I have a similar story which tells how I got my first computer (among other things) documented at: http://www.geocities.com/SiliconValley/Heights/3881/ 'Life of a Computer Techie' Please feel free to read it. Jeff Salzman Salzman's Computer Services http://www.geocities.com/SiliconValley/Heights/3881/ @(A)r: Alright, another in the camp of the endlessly sentimental. @(A)c: Paging Karl Hildon, Karl Hildon, Please Call the Front Desk! From: f.martin17@genie.com Dear C=Hacking, I sent Email to Karl Hildon via the address you published in the C=Hacking#14 KARL@INFORAMP.NET and when it was returned as "user unknown" I sent 5 more off with various changes to see if I could find a typo..they all came back to me. Is there a different address, did I miss something? I'm dying to get ahold of some of my missing Transactor Magazines..and would love to pick up some of the disks... -Martin @(A)r: Well, it's our fault. Karl can be reached (last time we checked) at karlh@inforamp.net, with an 'H' after KARL. @(A)c: CBM Rulez! TI Droolz! From: Marcus Ickes Dear C=Hacking, I read your article on spending your savings on the VIC instead of the TI. When I was 16 years old, I got the TI99/4A, I want to say, you are right when you said you were fortunate to get the Commodore computer instead. I learned to program in BASIC and did a good job, but that was all I could do. I got an old C64 a few year ago and I am impressed with the engineering that went into it. It is a very well made computer. If I got that when I was 16, I would have learned much more than just BASIC. Thanks for all your hard work putting out Commodore articles. I'm going to start reading them from the first one and try to learn the machine language. Marcus Ickes (ickes@iglobal.net) @(A)r: Well, in spite of our subject, we don't want to slam the TI folks. However, I am very happy fate brought me and the CBM together at that time. At the time, it seemed like I lost out, but 20/20 hindsight tells a different story. @(A)c: "First Computer" Stories, Take 2 From: Lyle Kopnicky Dear C=Hacking, Wow! I'm excited about your magazine. My first computer was a C64, which lasted from 1982 to 1984. My parents replaced it with another which I used until 1986, when I got a C128. I used that faithfully until 1990 when I got an Amiga 2000. In 1993 I attempted to upgrade it, but a crack in the motherboard kept me frustrated for a year or two. Finally, I broke down and bought a Gateway 2000 in 1995, on which I run Linux and Windows 95. I've hacked away on all those machines, although it isn't much fun in Windows. I now have access to a working C64, 1541, and Datasette, and occasionally a C128/1571. I also found a great C64 emulator for Windows 95/NT called PC64. My friends and I just set up a 4-machine network, and we'll be installing Red Hat Linux on a couple of machines. We're looking forward to a lot of hacking fun, and have considered using a C64 or Apple II as a part of the network. Your e-zine will be a great help! I'm happy to say I will be able to contribute as well. Two years ago, over Christmas break, I worked on an interesting C64 software project, designed to take the machine to previously untouched territory. I spent a week or two working on a Scheme interpreter for the 64. If you're not familiar with Scheme, it's a simple but powerful variant of Lisp. I actually made quite a bit of progress, but abandoned it when I no longer had access to the development machine (a C128 in 64 mode). Now, with the availability of the C64 emulator, it will be easier to develop and test this software. I had thought that perhaps no one would find this software useful any longer, but I see now that I have an audience. I'll get back on this project sometime, hopefully soon. Thanks for editing this great e-zine! @(A)r: YES! Scheme needs to be on the 64/128. Please let us know when you get going on the project again. It never ceases to amze us what seemingly "impossible" projects and products manage to appear on the 64/128 platform. @(A)c: The 'I's Have It! From: epratt@andrews.edu (Eric Pratt) Dear C=Hacking, I am pretty happy about the C=Hacking magazine. I access it through lynx at Andrews University. I love to read it from my 64 using Novaterm and I tried to download it recently. But, when I did, I got a few letter 'i's. I contacted Nick Rossi about this and he said that the i's were tabs when there should have been spaces. I would like to save this as a seq file for my word processor (Easy Script) but I don't want to have to edit every issue. That would take a load of time! I am downloading the text version of course and I would like to know if there is any way to get around the tabs. I would just like to download and print to paper. I appreciate your time and your magazine. Thanks. Eric Pratt @(A)r: The earliest issues do indeed exhibit this problem, due to the way they were created (on UNIX). When we get some time and motivation, we'll fix the problem. However, in the meantime, folks with a rudimentary grasp of BASIC should be able to write a "quick and dirty" app that simple reads in the C=H issue from disk, searches for and replaces every occurence of a TAB char (we're pretty sure its 12, but check with your handy reference guide) with 3 or 4 spaces, and writes out the results to a separate file. @(A)c: "First Computer" Stories, Take 3 From: Piotr Walczak Dear C=Hacking, Just to let you know - I heartly agree with your writing. My adventure with computers started somewhere around 1982. Actually it changed my life. Now as computer professional, dealing everyday with the latest computer technology, I am recalling amazement of my first computer experience with VIC-20. Miracle of *programming* =), PEEKing and POKEing memory, frantic drive to master ML, ROM hacking. It opened whole new world and turns to be very emotional unforgetable experience. I guess, there is a lot of people feeling this way. Cheers, Piotr P.S. I really pity those clueles guys who compare 8-bits to Pentium. They are lacking something very important, something what distinguish USERS from lUSERS =) @(A)r: I read the other day how the embedded computer field is having trouble finding employees who can write code in ML that will fit in the cramped quarters of the embedded computer platforms in use today. It seems most new graduates can;t fathom that in todays 64 bit multiple megabyte world, the world is mostly run by machines with are blessed with an 8 bit micro, RAM is a luxury, programs MUST be in ML, and 64 kB of program space is almost unheard of. @(A)c: The Good, the Bad, and the Ugly. From: chuck.sommerville@3do.com (Chuck Sommerville) Dear C=Hacking, I wrote a few games for the C64 a while back. Reading your stuff about the C64 brought back some fond memories. I thought I pushed that machine to its limits back when I worked for EPYX. I see There was still some room to do some other wierd stuff. The worst this I ever did was the raster code for Ball Blazer, which had to figure out whether there were 63, 64, or 65 cycles on the scan line, and run 8 different pieces of interrupt code depending on how close to the 40 lost cycles it was. The problem was that I had to write to 2 color registers on two consecutive lines. This is a problem if you have to do it on the bad line. I had to get the timing down to the cycle, syncronized by a timer tuned to the horizontal rate. It actually had to lose the 40 cycles in the middle of a particular instruction. You should have seen the jury rigged logic analyser we built to see the timing! Well, I probably don't have time to read all the back issues of C= hacking, but it is fun to see this is still a topic of discussion. Sincerely, Chuck Sommerville. @(A)r: All we can say is, WOW! We bet there are hundreds of stories like this, where the programmer simply didn't take NO for an answer, and made the 64/128 do what needed to be done. @(A)c: The Good, the Bad, and the Ugly. From: lpar@toto.pitton.com Dear C=Hacking, I just *knew* I'd seen something about an idea for a HTML viewer for the C64, found it last night in Hacking #13. I just recently got interested in this, and was wondering what the status is on this project? I wish I could be of some help in contributing to its development, but I'm just not that good a programmer, and my experience with writing HTML documents goes back, uh, almost a week. :) From what little I do know of it, I'd think it could be done, at least most of the important stuff. Maybe a highlighted routine similar to Lynx browsers, with different colors for the different markers, for instance? Anyway, just got to wondering. Thanks. Steve @(A)r: You are correct. I started an HTML article series, and I do hope to finish it. When I started the series, I hoped that by the time the first installment came out or a little while after, a TCP/IP protocol stack would arrive for the 64, and I could write the HTML viewer to sit on top of that. Well, the TCP stack has not yet arrived, and I lost some motivation. But, it's been moved up on my list of projects, since I now need a viewer for the 64/128 for some work I am doing. Nothing like neccessity to get you going. @(A)c: I've Been Waiting SOOOO Long! From: Jeremy Lindeman Dear C=Hacking, I was wondering when the next Commodore Hacking Issue was coming out? J From: George Taylor Dear C=Hacking, What happened to c-hacking? I'd like to repackage all issues into a consistent html/text format. Can I have permission to redistribute them? From: henry.sopko@hwcn.org Dear C=Hacking, Is there going to be anymore new issues of Commodore Hacking comming out or have we seen the end? I hope it will continue, especially with CMD's new accelerator being out now! BFN, henry.sopko@freenet.hamilton.on.ca From: wanderer_rtc@pipeline.com (Richard T. Cunningham) Dear C=Hacking, Any revelation as to when #15 will be out? I hate to say this, but #14 was back in November I think. L8r! Rich From: "Kevin Rowan" Dear C=Hacking, Over here in Australia, sources of cutting-edge Commodore article es and hardware/software hacks are even harder to find than they are in the USA. I've been studiyng your publication schedule for a number of months now, eagerly awaiting C=Hacking Issue 15. Can you say when it might be published? Has something gone wrong? Kevin Rowan Agent86 From: rikard.l@home.se (Rikard Lundblad) Dear C=Hacking, Is C-Hacking still active? I just found this site and I can see that no issues at all was published during 1997. Are all issues available in the .zip-format? From: Ernst Stavro Blofeld Dear C=Hacking, I found C=Hacking in the middle of last year and discovered who much I could still learn about the Commodore. Since I have waited and waited but not gotten any mailings. (I think I have since unsubscribed.) My questions are why do the issue dates on the HTML/TEXT versions not agree with the publication dates in your web-page, and why have the publication dates after Nov96 not been adhered to? Are there no submittions and C=Hacking has shut down?? I know there is a great deal of information being gathered and acted on, just from emailing other Commodore enthusiasts. Also many of the C=Hacking articles were "To Be Continued..." and never were. Please enlighten me. Alex (aka Blofeld) @(A)r: Yes, we're mighty late. The full scoop on the reasons is spelled out in "The Hacking Editor" (Reference: editor), so we won't reprint it here. However, everyone seemed to have a secondary question when asking about when the next issue was to arrive, so let's tackle those: George Taylor: As per the copyright, users can reproduce and redistribute the issues without any problems. As for conversions to HTML, Make sure you do not alter the magazine contents except to mark it up in the HTML format. Rikard Lundblad: Only Issues 11 on are available in ZIPped format. If time permits, we'll convert the older issues to this format. Ernst Stavro Blofeld: Well, submissions did fall off, but the main reason the dates are wrong is that they were never strict. I had tried to get an issue out every 3 months, and I based the schedule on that, but quickly determined that it's tough to stay on target with this magazine. In any case, you are now reading issue #15, and I hope that everyone will forgive the publisher for being late. @(A)c: The Mystery Logo Designer Unvieled From: "Lawrence, Mark" Dear C=Hacking, It's been a very long time since I'd heard anything about the C= Hacking publication, but the other day I'd received an email from someone or other who had read one of the early editions, and my article (sad as it was), and had questions to ask of me! I sniffed around, found that C= Hacking had not only continued on but evolved into something much bigger and better, and it still has the big ascii C=Hacking logo I designed at the top!!! Wow... Still awestruck, Mark.Lawrence@Regency.TAFE.SA.Edu.Au (also 9152427d@lv.levels.unisa.edu.au) @(A)r: So, you're the one who penned our mighty logo. Well, it's been rightly attributed to you on this issue, and we appreciate the check-in after a long trip. My hope is that C=H makes it to 2001, so we can revel in the new century with our magazine and maxhines. @(A)c: CBM and Satellites: Bosom Buddies! From: Alex Measday Dear C=Hacking, Hi! I liked your web site when I happened upon it a year or so ago (back when it was "garnet.msen.com") - you seemed to be a real Renaissance type of guy! - and I just recently revisited it (via Alta-Vista because your address had changed). I thought you might appreciate the following, Commodore-related story. Our company is building the ground control system for AT&T's next Telstar satellite, to be launched in May. (As you might have heard, one of the existing Telstar satellites was killed off by the solar magnetic burst in January.) Although the telemetry rate is fairly slow, the system is pretty high-tech: Solaris workstations, VME PowerPCs running LynxOS, and special hardware for encoding/decoding the command and telemetry data streams. We've been flowing simulated telemetry data through the system, but a couple of weeks ago, we were provided with actual spacecraft telemetry (from ground tests of the satellite). When we opened the box that had been shipped to us, we found: an ordinary looking cassette tape and an old COMMODORE tape drive with a little adapter box for the type of cable we use! We plugged it in, pushed the PLAY button, and watched as our system locked on to real telemetry data. (The tape drive was one of those about the size of a small book with rounded edges. That must have been a newer model than the big, boxy drive I had on my VIC-20.) Alex Measday Integral Systems, Inc. c.a.measday@ieee.org @(A)r: This is an incredible story. After a while, even the most optimistic CBM owner can lose morale after months of PC and Mac stories. This little tidbit gives each of us a boost. Besides, its a very impressive story in its own right. ========================================================================= @(#)news: Newsfront @(A): New Products from LOADSTAR The Compleat New Testament On Disk!: Search and print the King James Version of the New Testament on three 1541 disks or one 1581 disk. SuperCPU and RAMLink compatible for fast searches through multiple books. Export text to Edstar files (Edstar Included!). Include accurate excerpts from The Bible in your presentations and letters because this product is designed to export the scriptures you need. Each book of the New Testament is broken into highlights so that you can easily find key passages by name such as the Sermon On The Mount, Marriage, Divorce, and Spiritual Gifts and hundreds of other topics. Three 5.25-inch disks, #0042D5 $20.00. One 3.5-inch disk #0025D3 $20.00. The Compleat Old Testament on Disk!: Search and print the King James Version of the Old Testament on seven 1541 disks or three 1581 disks. SuperCPU and RAMLink compatible for fast searches through multiple books. Export text to Edstar files (Edstar Included!). Include accurate excerpts from The Bible in your presentations and letters because this product is designed to export the scriptures you need. Each book of the Old Testament is broken into highlights so that you can easily find key passages by name. Seven 5.25-inch disks, #0046D5 $20.00. Three 3.5-inch disks #0025D3, $20.00. Star Extra #1,2,3: All the fun and essentials from the World Wide Web to you without a modem and online charge. All PD software fixed to work right off the bat. No unarching, and no errors. No hassles with weirdly formatted text. All the work has been done for you. Got a CMD SuperCPU plugged into your computer? Well, those programs that would not have worked when you downloaded them have been fixed to work with your SuperCPU without you flipping a single switch! Start Extra #1: One 1581 disk 0024D3 $12. Two 1541 disks #0041D5 $20 Start Extra #2: One 1581 disk 0027D3 $12. Two 1541 disks #0044D5 $20 Start Extra #3: One 1581 disk 0031D3 $12. Two 1541 disks #0048D5 $20 Demos and additional Information available at www.loadstar.com @(A): Do You have (a) Fever! Fron Down Under, it's Commodore Fever, a quarterly publication that contains reviews of new software, websites, and utilities. Each issue is packed with contibuted articles and information on where to buy the latest software. Finally, each issue comes with a cover disk with playable and watchable demos. In the United States, you can order a subscription from Complete Console, the US Distributor. A sample issue is US$6.00, while a 1 year subscription is US$22.00. Obtain more information from netinfo@cryogen.com. @(A): Finland Commodore Site Now Mirrored in USA! Eric Chernoff announced a while back that the ftp.funet.fi pub/cbm area is now available at: Via ftp: ftp://sunsite.unc.edu/pub/micro/commodore Via HTTP: http://sunsite.unc.edu/pub/micro/commodore/frames.html (This page is lynx-friendly as well as Netscape-friendly.) @(A): TIFCU Mailing List Going Strong! For everyone that has purchased Gaelyne Gasson's "The Internet for Commodore Users" (TIFCU), Gaelyne is operating a mailing list to help field questions and comments about the book and its contents. To subscribe to the list, simple send an email: To: listserv@mail.jbrain.com Subject: LISTSERV Message Body: subscribe tifcu FirstName LastName @(A): Commodore Hacking Now Available In Microsoft Word Format For those who read Commodore Hacking while at work (shame on you :-), Troy Heidner has reformatted each issue of Commodore Hacking into Microsoft Word 6 format, for easy PC viewing. His archive is available at: http://www.hbc.ukans.edu/personal/theidner/commodor.htm @(A): Attention MSD Owners! If you are the proud owner of a used MSD SD1 or SD2 disk drives but do not have any documentation, S. Knight can help. He is selling a complete technical manual, affectionately called "The Word, According to MSD" at the MSD headquarters. It contains information on the drives, schematics, a list of revisions, parts inventory, and the technical notes on the Rockwell 6511Q CPU used in the drive electronics. If you would like a copy, contact slknight@ballistic.com for pricing and availability. @(A): Fledgling Commodore User Group Needs Your Support Ken Jones, of the newly formed Connecticut Commodore Business Machines User's Group (CCBMUG) is asking for your help to grow their club. Current dues are $10.00 outside of CT and $10.60 inside of CT. They can accept Visa and MasterCard. A membership includes 6 newsletters, 5 disks fill of shareware, and the benefits of belonging to a fine CBM user's group. If you are interested, please contact Ken at ccbmug@geocities.com. @(A): OS/A65 Version 2.0 Preliminary Release Available Andre Fachat has improved his OS/A65 detailed in Commodore hacking #13. Version 2.0 includes support for SLIP (TCP/IP) server application, a relocatable file format, and better libriary support. The source has been rewritten to offer better porting between architectures with system-specific code being pulled into separate locations. If you would like to install and run this 2.0 beta version, please visit Andre's WWW site at: http://www.tu-chemnitz.de/~fachat/8bit/osa/v2.0/index.html @(A): Wheels 64 Slated for Shipping After many months of development, bug fixing and tecting, Maurice Randall of Click Here Software is readying the final product for shipment. Maurice expects to have disks in customer's hand in April, after finishing last minute bug fixes and testing. For those who do not know, Wheels 64 is the GEOS upgrade developed by Randall to fix numerous bugs in GEOS 2.0, offer better support for CMD peripherals, and provide new features GEOS users have requested. For detailed information and screen shots of Wheels, contact Maurice Randall at: Maurice Randall P.O. Box 606 Charlotte MI 48813 PH: (517)543-5202 for more info or visit my web site at: http://people.delphi.com/arca93/ @(A): Dialogue 128 Now Available as Freeware Gary Farmaner has decided to release Dialogue 128, one of the best terminal emulation programs available for the 128, as freeware. Below is a reprint of the copyright notice: Dialogue 128 - Copyright 1991 by Gary Farmaner I, Gary Farmaner, sole author of the program Dialogue 128, do hereby authorize the release of the program Dialogue 128 and any accompanying documentation, to freeware, NON-COMMERCIAL distribution. THIS IS FREE SOFTWARE. Individuals are encouraged to give away, and post to software distribution sites, copies of the software and any electronically captured form of the documentation, as long as this notice is included. Commercial interests are permitted to distribute the program and documentation as long as this notice is included, and NO CHARGE is made beyond reasonable media and duplication costs (at most $2 for diskette, and $3 for printed documentation). I retain full copyright on the software and documentation, The software and documentation are NOT being released to the public domain. I retain the right to release commercial updates at at future date. The software is released AS IS, without warranties, guarantees, or support of any kind. There is no charge for this software. However, if you do find it useful I would appreciate reading about it. Drop me a line at: dialog@turing.toronto.edu @(A): Back Issues of dieHard Available If you would like to complete your collection of dieHard Magazine, or just want to read an issue or two, the Tresure Valle/ Boise User Group (TV/BUG) is offering issues 11,12,13,18,19,20,21,22,and 23 for sale. If you would like more information on obtaining one or more issues, contact either Brian Crosthwaite at noesis@rmci.net or visit the back issues web page at: http://members.tripod.com/~noesis0/index.html @(A): Brush Up On Commodore Knowledge at CKB Cameron Kaiser has created a unique repository for all information Commodore. The Commodore Knowledge Base (CKB) is a repository for documents and Usenet postings on repair, technical information and programming the Commodore 8-bits. Since December, CKB has accumulated 130 articles total (more articles acquired for storage by newsbot and submission). Some highlights: * a complete analysis of interrupts in the 64 * the Kernal jump table * why you have to smack the RESTORE key * using 41256 RAM chips in the 64 * what to check if your disk drive keeps giving you ?DEVICE NOT PRESENT * programming the CMD hard drive * using ramdisks with CP/M * DIP switch pinouts for the Cardco +G printer interface You can visit the CKB at: http://calvin.ptloma.edu/~spectre/ckb/ @(A): 8BIT Catering to 8 Bit Computing If you're an equal opportunity 8-bit computer collector and/or user, then you'll be interested in 8BIT, a magazine that caters to various older systems, including the Commodore 64, Sinclair, and Amstrad. Althogh not a technical journal, the publication does provide interesting features and information on the various machines still in use. If you would like information on this publication, contact: Brian Watson Harrowden 39 High Street Sutton-in-the-Isle ELY Cambridgeshire CB6 2RA 01353 777 0006 (Telephone) 01353 77 77 66 (Facsimile) 8bit@spheroid.demon.co.uk (Internet Email) Magazine Prices were as follows: Single issue: 3 British Pounds Two Years (8 issues): 16 British Pounds @(A): Finally, a PKZIP 2.04 64/128 Unarchiver! Users have requested it, and Error Smith has delivered. Errol has created a dearchiver for the industry standard PKZIP 2.04 format. After years of making do with the PKZIP 1.01 dearchive from Bill Lucier/David Schmoll, Commodore users can now unzip any PKZIPped file, no matter the version. Don't ditch your old copy of unzip64, though, as Errol's new version does not atempt to unzip 1.01 format files. In fact, this issue of Commodore Hacking will be zipped in 2.04 format, because it offers better compression. If you would like to download a copy of unzip64v2, check out Errol's WWW site which includes the file and online documentation at: http://www.ros.com.au/~errol/64.html ======================================================================== @(#)trick: Hi Tech Trickery: Double Speed Opcodes by Sean Adams (sean_adams@junkmail.net) @(A)intro: Introduction Well, if you have made a bee-line to this section, I hate to disappoint you, but: April Fools! Sean Adams, if he did exist, would have no idea how to set the 65XX into a mode that executes all 3+ cycle opcodes twice as fast. Frankly, it just cannot be done. All 3+ cycle opcodes need those cycles, and the only way to speed up the process would be to double the clock frequency. So, rest assured that the laws of 65XX operation cannot be broken, at least not in this area. However, before we finish, let me state that the clock doubling approach is precisely how the new Intel CPUs achieve their high numbers. FOr example, the 333 MHz Pentium II processor doesn't actually run that fast. First of all, it can only interact with registers at that speed. The high speed cache operates at 1/2 that frequency, or 166.5 MHz. The cache is only 256kB or 512 kB (although I hear 1MB cache processors are appearing soon), so any function or code fragment that won't fit in that space requires a read from main memory, which runs at 66 MHz at best case (and can run much slower). So, be wary of taking speeds of the newer processors at face value. If we could do to the 64 what they do to the Pentium II, we too could have a very fast "looking" processor speed. Jim Brain ========================================================================= @(#)mags: Hacking the Mags Not everything good and/or technical comes from Commodore Hacking, which is as it should be. (We still think we have the most, though...) Thus, let's spotlight some good and/or technical reading from the other Commodore publications. Given the large number of publications we're reviewing this time, we've chosen a less conversational approach to highlighting each publications contents. @(A): Commodore World (http://www.cmdweb.com/cwhome.html) In CW#16: Maurice Randall relates an obscure FD/1581 bug and how to work around it. John Walker discusses Neural Networks on the C64. Brett Tabke Introduces the opcoides, registers, and addressing modes of the 65C816S. Max Cottrell shows how you can create ANSI Screens. Gaelyne Gasson goes over file transfers on the Internet. Maurice Randall details Data File creation on GEOS. Jim Butterfield goes over the IEC routines in teh PET/CBM. In CW#17: Gaelyne Gasson overviews the SuperCPU, and discusses IRC on the Internet. Bruce Thomas details how to install a reset switch for your Mouse. Maurice Randall delves deeper into GEOS data file creation. Doug Cotton goes over programming optimizations you can use with the SuperCPU. In CW#19: Maurice Randall shows how to mix DA's and Dialogue Boxes in GEOS. Doug Cotton show how to program the GEOCable outside of GEOS. Doug Cotton goes over the memory map for the SUPERRAM Card. In CW#20: Maurice Randall works with GEOPaint Files. Mark Fellows details the new Interrupt routines in the SCPU Doug Cotton shows how to convert a NTSC 64 to PAL or vice versa. In CW#21: Doug Cotton goes under the hood on BASIC tokens and storage. Maurice Randall shows how to get into a GEOWrite document programmatically. Mark Fellows details a very impressive ML Input Routine. Mark Fellows goes over the '816 MVN and MVP move instructions. @(A): Denial In D#2: Not much technical content, but I thought the magazine was worthy of mention simply for catering to the VIC crowd. @(A): Driven (http://nlaredo.globalpc.net/~coolhnd/driven/) (note the changed WWW address) In D#17: Bo Zimmerman discusses his CBM <> Linux <> Internet Setup. In D#18: Deathlok discusses various C64 Music Editors In D#19: Review of 1996 Issue. In D#20: PAL Magazine Issue. In D#21: Sherry Freedline discusses how to surf the Commodore Web. In D#22: Announcement of the Driven 4 kB Compo II. In Driven's Waveform Tribute: A Moving Tribute to John Kaiser, aka Waveform. In D#23: Details about The 'Fridge', the code repository by Steve Judd. In D#24: This issue contains information about Daniel Dallmann's SLIP-64. In D#25: Kevin Reno details a C64 PPP Project. In D#26: Robin Harbron discusses PPP on the 64. @(A): LOADSTAR (http://www.loadstar.com) In LS#147: Adam Vardy shows how to easily put drive swapping code in a program. Andrew Martin details Hi-Res Sketch II. In LS#149: The trio of David Darus, Ken French, and Louis Wallace present Program Graphics Management (PGM), a toolbox of GFX manipulation code to help the developer get screens up and going. Jeff Jones goes over Menu Toolbox, presented in LS and in C=H 14. In LS#150: Michael Milroy introduces CAD-M, a 2-D CAD program Arnold Walters presents 1541-TidyDisk, which can clean up 1541 dirs. In LS#151: Travis Parker presents VLS HyperText System, a small hypertext reader. (this is a very impressive program.) Jeff Jones presents PackMeister, a general purpose text packer. Doreen Horne presents version 3 of WRAPTOR, the GEOS packer. @(A): LOADSTAR 128 (http://www.loadstar.com) In LS128#33 Bob Markland present a program for printing Bar Code on mail. In LS128#34 Nate Fielder brings us GEOCanvas 128. In LS128#35 Well, I have the issue, but my 1084S died, so I can't view it. :-( In LS128#36 Well, I have the issue, but my 1084S died, so I can't view it. :-( @(A): LOADSTAR LETTER (http://www.loadstar.com) In LL#37: In this first issue after the "Underground"/"LL" merge, Jeff interviews Jim Butterfield on the age-old WAIT 6502,X Easter Egg. In LL#38: Sherry Freedline goes over the terminology of the Internet. Jeff Jones goes over the advantages of hybrid BASIC/ML programs. In LL#39: Jeff Jones details a way to put more than 144 files on a 1541 disk. Sherry Freedline discusses choosing an Internet Service Provider. In LL#40: Jeff Jones shows how to get the most out of the SCPU optimization modes. Gaelyne Gasson starts a 2 part series on HTML. Scott Eggleston shows how to install an "all-reset" reset switch. In LL#41: Part 2 of Gaelyne's HTML series. Jeff goes over how to make relocatable code. In LL#42: Jeff Jones show how to make good use of the Super Snapshopt Cartridge. In LL#43: A CMD Drive Support Issue. Get all your CMD HD/FD/RL questions answered. In LL#44: A CMD SCPU Info Issue. Robin Harbron details how the 64 and SCPU interact from a timing perspective. In LL#45: Robin Harbron discusses how to use the REU fixed address feature to put GFX in the border on the screen. In LL#46: Robin Harbron details programming the Swiftlink cartridge. Jeff Jones relates how bigger code isn't always slower code. In LL#47: Robin Harbron details a way to test the size of an REU. Todd Elliott shows some unusual way to use opcodes in the 65XX. In LL#48: Robin Harbron details how many cycles you get per scanline on a VIC-II. Todd Elliott continues his piece on neat uses for 65XX opcodes. In LL#49: Robin Harbron goes over CIA IC specifics. In LL#50: Hoorah to LOADSTAR for getting 50 issues out! Robin Harbron goes over the new SUPERRAM card from CMD. LOADSTAR releases Mr. Mouse (mouse driver) as freeware and details its use. In LL#51: Mostly a reader Q&A issue. In LL#52: Robin harbron lists the various types of CBM owners. Figure out which you are! In LL#53: Of particular interest is the discussion in this issue about what exactly is a "Young Programmer". In LL#54: Robin Harbron interviews Maurice Randall on Wheel 64. In LL#55: A SCPU 128 Issue. Read all about it. @(A): 'Zine 64 (http://members.aol.com/cholgate/Zine64/homepage.htm) In Z64#7: A Games/SuperCPU issue. Other magazines not covered in this rundown include: * _64'er_ o _Commodore Gazette_ * _Commodore Network_ * _Commodore Zone_ * _Gatekeeper_ o _Vision_ Notes on Legend: * = We have never received an issue of this publication. o = We have not received a new issue of this publication to review. + = We will begin reviewing this magazine in the next issue. In addition, others exist that C=Hacking is simply not aware of. As soon as we can snag a copy of any of these, or get the foreign language ones in English :-), we will give you the scoop on them. ============================================================================ @(#)hw: The 40/80 Screen Mouse Switch copyright (c) 1994-1997 by Michael Nausch (bigchief@muc.de) Editor Note: An archive containing this article and the GEOPaint pictures described within it are available in "Hacking the Code" (Reference: code, SubRef: 4080schematic). @(A): Introduction In 1994, I wrote an article for our club newspaper "Rundschreiben", issue 28 (GEOS Interessengemeinschaft SUED e.V.) describing my "40/80 Screen-Switch" hardware extension that allows me to easily switch my monitor between 40 and 80 column modes using the keys on my mouse. After several club members and friends in the fido-areas and internet-newsgroups asked me if I would sell the 40/80 Screen-Switch, I decided to write this article and translate it to English. I'd like to thank Gaelyne Gasson, who encouraged me and added the final touches to the English translation. What this hardware extension will do, and what it won't or can't do: 1. It is not 'plug and play' hardware. You must modify your monitor. 2. It won't automatically switch the mode of your monitor. 3. Because the layout and other plans are in full size GeoPaint format, it should be relatively easy for anyone to build the 40/80 Screen-Switch. @(A): Background Information I built this switch for myself because I was too lazy to press the button on my monitor to switch it from CVBS (40 column) to RGB (80 column) mode and vice versa. I am a GEOS enthusiast and use GEOS for nearly all my C=128 activities. I use other software only for the internet and bbsing, such as Novaterm, Dialogue 128 or QWKRR128. Some of these programs uses both 40 and 80 column-modes, too. A lot of my GEOS software runs only in 40 column, so I am often switching from one mode to the other and vice versa. Most of my software gives me a hint on screen when I should switch my monitor, and I originally considered using the CS input of the video chips and/or converting the CVBS signal to RGB, but both were rejected as too complex or too expensive. Since my mouse is always at hand, it seemed more practical for the job. After looking at the circuit diagram of my monitor I thought it should be easy to do this. First I removed the original switch for changing the 40/80-mode and soldered a 5ft long cable to it for testing, if the monitor worked right, (it did) I would carry on with my experiments. Since the first step was done I needed to find a way to comfortably switch the monitor modes. I didn't want to alter the mouse, because otherwise I would have to do it every time I use another mouse. Modifying the keyboard seemed impracticable, so I decided to make a little "black box" to go between the mouse and the monitor. Whenever I pressed both mouse buttons simultaneously I wanted the monitor to change mode. I dismantled my mouse and looked at what was happening when I pressed both buttons. I found that when I press the left button, the 'BUTTON A/LP' line (pin #6) is put to signal-ground. If the right button is pressed, the line 'JOYA0' (pin #1) is put to signal-ground. I also noted pin #7 had 5V DC, and since I had many chips of the 74xx family in my electronics parts box, I decided to make the circuit with those IC's. The first IC is a NOR-gate 7402. This gate will only output a "high" if both inputs are "low". As noted above, if I press both mouse-buttons at the same time, pins #1 and #6 of joy-port #1 are both taken "low" and only then will the NOR-gate output a "high". This output is connected to the next IC, a monostable multivibrator 74121. The keys of the mouse have an unpleasant property, the bounce. Everyone has probably experienced this; one only has to copy a GEOS-file, click on the icon and suddenly the file is opened. To avoid this bounce, if the input of the 74121 IC is set to "high", the output changes level only after awhile. If the input changes during this period, nothing happens at the output. After the predefined time, the output can be changed, but it changes the input. This time is dependant on the resistor R3 and the capacitor C1. For the 40/80Screen-Switch, I use approximately 0.6 seconds. The output of the 74121 is connected with the clock input of a JK flip-flop 7473. One of the reasons the external wiring of the 7473 works is because it is a D-type flip-flop. So every change to the input will change the output of the 7473. With the help of a little NPN-transistor, we control a 5V DC relay. The switch in front of this transistor allows us to switch the monitor-mode by hand into 40 or 80 column-mode, or use the automatic-operation. Because the JOYA0 and BUTTON A/LP lines are connected directly to the keyboard, we must isolate our hardware from the keyboard. To do this, we use the pull-up resistors R1 and R2 and diodes V1 and V2. To prevent damage from induced voltage produced by the relay a diode is connected antiparallel with it's windings. @(A): Constructing the 40/80 screen-switch Enough with the theory, now for the construction. First we must etch the printed board. For printing the included GeoPaint file it's recommended that you use a laser-or a true 80x80 dpi printer. If you have not etched a printed board, ask a friend to help you. It's also possible to build the circuit using the wirewrap technique or any other preferred technique. After etching and cleaning the printed board, you must drill the holes for the electronics. After that we bend the 13 little wire-jumpers and solder them into the right places. Next we solder the diodes, (check the circuit diagram for correct polarity) then the resistors, sockets for the IC's, the capacitor and then the relay. Finally we connect the on/off-switch and the nine-pin sub-d connectors to the 40/80 Screen-Switch. If you use the special flat cable version of the connectors, you can also use the special pin-sockets that were used in the industry and in personal computers. Last but not least, you are almost ready to test your new hardware. Inspect the printed circuit board and make sure that all solder joints are O.K. and there's no solder splashes on the board. If everything is okay you can put the new hardware into a box or stand it on plastic feet. Connect the 40/80 Screen-Switch between your C=128 and mouse and then make the connection to your monitor. You can now switch on your computer and your monitor. With the double on/off switch you should now be able to switch your monitor from the CVBS (40 column) to RGB (80 column) mode and vice versa. If the switch is in "automatic" you should be able to switch the monitor-mode by pressing both mouse-buttons simultaneously. If it doesn't work, switch off your equipment and check all solder joints, the electronic parts for the right placement and the etched printed board for any hairline cracks. Correct any errors and test it again. @(A): Note: Do not change the format of this text file and/or the geopaint schematics. Use of this document or 40/80 Screen-Switch schematics for any purpose other than for personal use requires the consent of the author (Michael Nausch). Michael Nausch and Gaelyne Gasson have taken care to ensure the information presented is correct, and accept no responsibility for any damage caused to you or your equipment by use of the circuit diagram and information presented in this article. @(A): Equipment and parts list B1 - B13 wire-jumpers C1 capacitor 100 uF 16v C2 - C4 capacitor 100 nF 16v IC1 NOR-gate 7402 IC2 monostable multivibrator 74121 IC3 JK-flip-flop 7473 k15V relay with 2 switches (type SDS JW 2 SN 5.0V) R1 - R2 resistor 1.8 k 0.25w R3 resistor 8.2 k 0.25w R4 resistor 330 ohm V1 - V3 Diode 1N4148 V4 NPN-transistor BC107 various small parts, like: three ic-sockets casing nine-pin sub d connectors flatwire-cable copper plated epoxy resin board 3 inch x 5 inch ========================================================================= @(#)fido: FIDO's Nuggets by Geoff Sullivan (sunfish@gis.net) In mid October Gaelyne Gasson reported in the CBM Geos Echo on a meeting of the Lansing Area Commodore Club she attended. There Maurice Randall (geoFax, geoShell, etc.) demonstrated new Geos device drivers that work with all types of drives and desktops. He showed drivers that will read an MS-DOS formatted disk directly into Geos, and how a stock 1581 can read a CMD FD disk. This is all part of his goal to revamp the Geos OS, ridding it of bugs, and adding features that would make it more compatable with toady's hardware and future software. Since this prewiew the Echo's been buzzing with suggestions and speculations about this development. In the more general topic Commodore Echo there have been a number of discussions that have been ongoing. There has been a thread about 1541 disk drive alignment for some time. There is always one new person that decides his drive has alignment problems and needs advice. I know, this has happened to me too. There are several ways to go about this process and one or another always comes up. Recently there was a very good and complete description of the process. Another thread is covering the baud vs. bps argument, and the limits of data compression with v.42bis protocol. There is a lot of interest in the performance of various modems with Swiftlink on a C64 or 128. Street prices of 14.4 and even 28.8 modems have been dropping to such a degree that performance is more significant than cost since we are no longer resrticted to Commodore compatables. Ismael Cordeiro posted an exhaustive history/tutorial of modem data transfer schemes. What really seems to determine transfer rates are the types of data used. Plain text, which is easily compressed appears to move faster than compressed data, such as binary files and .GIFs, etc. Software topics have decreased, but FTP by email and other Internet discussions have grown. Many people are now using email to get files from Commodore Web sites all over the world. In fact it is even possible now to receive FIDO Echo packets via FTP if you can't get them any other way! The C128 Echo is a little more into hardware that the other two Echos. In the last few months someone wanted to know how to upgrade his VDC ram to 64K. There were many answers, all correct. The most important being, "If you don't know what you're doing, get someone who does." Someone else wants to build a portable power supply for his C128 so he can take it on "remotes". The easy soluton would be to use an inverter, but it was suggested that this might be considered cheating. We are a tough lot!! More new folks are showing up on the Commodore FIDO echoes. Some lost souls are returning too. We keep seeing messages about someone having found a C64 in a closet and wanting to get software or Internet access for it. In fact there is a lot of Internet related traffic here. Many folks new to Lynx and Unix servers in general are asking questions and getting help. Those of us that have Commodore related Web sites are able to direct people there for software too. QWKRR is evolving into an Internet friendly off-line reader and reply application. Discussion continues about it. Presently it centers around REU access and character sets. Rod Gasson, the author, has been asked to impliment REU support. The problem seems to be that in it's current version QWKRR has no room for it without module swapping. With more of us on the Internet there is some discussion about an application to unzip files zipped with 2.04g and better ways of dealing with .GIF and .JPG files. To date there is nothing that can deal with 2.04g zips directly and viewing .GIF or .JPG graphics could be better. One bright note is that there has been developed an HTML off-line viewer for the C64. The demo version is on the FairLight Web page at http://hem.passagen.se/harlekin/ There is always someone looking for Commodore hardware/software as well as folks selling it here. About 1/3 of the traffic on the echoes is devoted to this. Some discussion in the C128 echo has been around character sets and terminal emulation. What are ANSI control characters, how can they be displayed or stripped, and what are the differences between Unix, MS-Dos, Commodore "screen code", and Petscii text? Several short programs in Basic have appeared to translate text formats. In the Geos echo there has been a thread about the most efficient ways of formatting text in geoWrite. Whether to add tabs and margins before or after composing text seems to be the question. There are some tools for global formatting and font changing, but few use them. Printers are always an interesting challenge in Geos. With all the used equipment floating around there is always someone here that is having trouble finding the right driver for a newly aquired device. (Note: I think it would be worth it to have an ftp site loaded with all the various non-commercial printer drivers.) With the release of Maurice Randall's geoFAX 2.0, at least one user has figured out a way to print geoFAX pages in a pre-determined order by changing the order of the pointers in the Geos VLIR index sector. Each pair of bytes on this page points to the corresponding page of the geoFAX document. By rearranging the order, pages can be printed or displayed any way the user wishes. This may be tedious, but with a little more work an application could be worked up to make this process easier. The same could be done with geoWrite. So, that's a glimpse into the world of FIDO, the wonder dog of networks, for this time. Here, boy.... ========================================================================= @(#)list: The Canonical List of Commodore Products by Jim Brain (brain@mail.jbrain @(A): Introduction It's been so long, I almost forget what actually started this list, but I believe I decided one day while at work that I wanted to create a full listing of everything that had made it past the dream phase at Commodore. I wanted to catalog the various models of C64, the constantly evolving C2N datasette, the specifications on the complete PET/CBM business line, etc. So, I posted what I did know to the USENET comp.sys.cbm newsgroup, and the responses came pouring in. For a while, the list sported no version number, but I finally started creating versions in 1995. It's been almost a year since 1.1 came out, and I have made numerous changes to the list since then. However, the number of computer additions has slowed to a trickle, so I suspect that I've catalogued most of the models out there. Now, people are sending more calculator and specialty Amiga board additions. However, this list has outgrown its current format, and will be converted into a database that I can more easily update and manage. As well, I would like to create an online hyperlinked version that sports pictures and more space for comments on each model. No one realizes that I have to greatly condense the information folks send me on some of these models to fit the space I have here. The new format will allow more room for neat comments and anecdotes. I will, though, create a script that parses the database to generate this file from the information. So, delete your old copy of the list, and save this one for future reference. If I have erred in some information, please take the opportunity to send me corrections, and note the locations of the file below. I continually update the file, and you can check in VICUG at http://www.jbrain.com/vicug/ for information on where the online HTML version will be kept. Without further ado, its the: @(A): CBM List of Products Archive-name: cbm-model-list.2.0.txt Version: 2.0 Last-modified: 1998-04-11 Here is the newest edition of the Canonical List of Commodore Products. It contains informations on every piece of Commodore equipment I have heard of to date. Please help me weed out all the inconsistencies and nail down all the information. ==========================Notes for this Release============================== PET models were also named with CBM prefixes. i.e PET 4016 = CBM 4016. Difference in naming early PETs exist. A PET 2001-8N could also be referred to as a PET 2001N-8K or PET 2001N-8. All are the same machine. Since the decision to boot in lowercase or uppercase mode was based on type of ROM, any machine can boot in either. If you know of a model that is listed above that had differing properties, please tell me. Examples are a bigger monitor than what I have listed, Different closing mechanism on Drive, etc. This list comprises all machines that have been put out in some market. For this reason, the 364, C65, and others are include in the second list at the end of this document. The stars indicate that someone has seen this machine in production. Their friends own one, etc. The two letters at far right indicate that someone owns this machine. The names are in Mnemonic, and the expansions are directly above these notes. Before emailing me with updates to an item, please make sure the item number is not alrady in the list. Sometimes I have people tell me that X is a disk drive, when X is in the list already as something else. I can't tell which one is right, so if you find contradictory info, please acknowledge that your info does not match mine and what your opinion is regarding which info is correct. Any item that has letters after it in the far right column not only exists, but is owned by someone. Now, a typo is always possible, but please keep that in mind when telling me an item was never made, since Commodore sometimes never marketed an item in some countries. I put in any item that I think _might_ have made it to market, so everyone needs to continually check up on me. There list is in two parts: Marketed and Not-Marketed, since some models were produced but never sold at the time of production (C65 is one of them), and some models never got past the "pipe-dream" stage. The newest version of this file can be retrieved from: http://ftp.jbrain.com/pub/cbm/ref/cbm-model-list.txt ftp://ftp.jbrain.com/pub/cbm/ref/cbm-model-list.txt mailto:ftpmail@mail.jbrain.com Body: open ascii get /pub/cbm/ref/cbm-model-list.txt quit Interested persons can now subscribe to the CBMMODEL Mailing List at: mailto:listserv@mail.jbrain.com Body: subscribe model-dist Firstname Lastname msglen review model-dist help quit Note: msglen is maximum number of text lines you can receive in an email messsage. a value of 0 means maxlines. All parameters to the subscribe command are necessary. The newest version of the list will be mailed to you when posted to the newsgroup. I hope you enjoy the list. It is the result of over 4 years of continual updating. Jim Brain brain@mail.jbrain.com ======================Questions Still Left to Answer========================== The PET 2001NT: Which PET 2001 was it, 08,16,32? Some needs to explain to me why the 700 model is an LP machine when the rest of the 700 line are HP machines.... ony Scatt sent me some discussion about the CBM 3000 model, mentioning an 11 key keyboard variant and a 20 key kaeyboard variant. I have noted below that some 3000 machines were simply rebaded 2001 machines. Does that explain the 11/20 discrepency? I need to go through Andre Fachat's PET Index and synchronize information, but I need time to do so. You can peruse it at http://www.tu-chemnitz.de/~fachat/8bit/petindex/petindex.html ===========Canonical List of Commodore Computer Equipment ==================== ---------------------Products Produced In Some Quantity:---------------------- Office Equipment: * 264CD Office Desk RS Calculator Series: * 202 electric, 1 digit display with slider indiciator, black case, white keypad, black,white,red keys SN B-63768 WW * 208 mechanical tape calc with red/black ribbon. MI * Blue LEDs, basic math, cream color, blue/red butons. TA * Scientific calc, made in England, 44 extra keys BD * 401 paper readout, darkgreen/bluegreen DV 770D * 774D Red LED, 9 digit, white keys. Red clear and blue op keys. BA 776M * 796M red LED, 8 digit, black plastic, 19 keys JR * 797D Red LED, basic math+memory and percentage, cream/blk keys BD * 797M red LED, 8 digit, cream plastic, 23 keys. JB * 886D 8 dig red LED, white case, keys white, blue and 1 red GY * 886D lt brown w/dark brown base, keys white, blue and red GY * 887D 8 dig Red LED, white, black trim, white, red, blue keys. RI * 897D 10 digit Red LED, basic math, percent, one memory. GK * AL-1000 14 nixie tube readout * C108 green LED, basic math, black, colored buttons DV * CIL 40 LCD, 8 digit, "electronic switching", cream / brown metal JR case, CMOS slimline, 23 keys, 198? * CQ-SWAT yellow LCD dual display, 8 digit, world time, silver metal JR case, CMOS slimline, 30 keys. * GL-976M green LED, 7 digit, white / black plastic case, 19 lrg keys.JR GL-976MR GL-979R blk-cream case,Colored buttons,green LED,basic calc+mem+x^2 * GL-987R 8 dig grn LED, blk w/silver trim, wht,red,blu keys basic BZ * GL-996R rechargeable, green LED, 8 digit, b&w plastic case, 23 key JR similar to GL models, early LCD. * GL-997R blk-cream case,colored buttons,green LED,basic calcs+memory TE * LC5K1 yellow LCD, 8 digit, gold/brown metal case, 24 keys, CMOS JR slimline. * LC925 yellow LCD, 8 digit, brown/cream plastic case, 25 keys, JR * LC5K2 JC * MM3M Cream, Colored buttons, Red LED readout, basic math, 1 mem. JB * MM3M (Conv) MM3M with Volume, Area, Metric Conversions JP * MM3R MM3M without memory. SN#066387 PE * MM6 blk-silver case,basic calcs,red LED,switchable dec point, 9V battery TE * MM6X MM6 with enter key LA * N60 14 dig grn LED, silver nums, blue func, lt-blu mem, navigat WZ * N80 10 dig LED, white nums, blue func, lt-blu mem, navigational FR * P50 Program. red LED, 13 digit, brown/gold plastic, 49 keys JR * S61 Statist. green LED, 14 digit, black plastic case, 60 keys. JR * SR-1400 "Electronic Slide Rule Calculator" may 5, 1975 JS * SR-1800 Black, Colored buttons, Green LED readout, Trig. FB * SR-36 Scient. red LED, 13 digit, black plastic, 37 keys JR * SR4912 Scient.red LED, 13 digit, black plastic, 49 keys JR * SR-9190R Black, 10 Red LED, 49 keys, white num keys, SN#26612. RI * SR-4120R SR-4148R TE * SR-4148R blk case,colored buttons(48),10 red LED, basic calc+memory+trig+x^y+statistics TE * SR-100NC black case,49 colored buttons (most of them twice used), scientific calcs (was originally sold as QUELLE Privileg but is from Commodore) TE * US*3 8 dig + sign, larger light brown case, blk num keys, basic BZ * US*8 Desk model, 8 amber LED & overflow,black,keys wht,blu,red GY Video Game Series: * CBM 2000K Commodore TV Game 2000K, JR Basically same as CBM 3000H, but with 4 'bats', two internal and 2 mini-jacks in back. PAL output. Black plastic case. * CBM 3000H Commodore TV Game 3000H, LJ Pong-type game. Labels in English and German, Games include "target", "tennis", "football", "squash". Amateur or Pro settings, 1-4 player. Basic pot bats, bat #1 is built into unit. Runs on 9VDC or batteries. Outputs to UHF36. 2 ports at rear. One 5 pin DIN for light rifle (lightpen), other for two more bats. PAL output. Trainer Series: * KIM-1 Computer Trainer: Has hex keypad and LED readout CK PET 2000 Series:Renamed to CBM 20XX, XX = RAM, when Philips forbid PET use. Most CBM renamed units powered up in lowercase and had a different keyboard config, while the PET machines booted in uppercase. B and N notation alternately put after RAM amount in name (PET 2001B-32 = PET 2001-32B) Black (B) or Blue (N) Trim, 9" (9) or 12" (2) screen, Built-In Cassette with Chiclet Keys (C), Business Style Keyboard with No Graphics on Keys (K), or Home Computer with Number Keys and Graphics on Keys (H), Green/White screen (G) or Black/White screen (W) * PET 2001-4K 4kB, CB GP * PET 2001-8K 8kB, CN9 GP * PET 2001-8C 8kB, CN9W, SN#0620733, No "WAIT 6502,X" GL * PET 2001-8C 8kB, CB9G, SN#0629836, No "WAIT 6502,X" GL PET 2001-16K 16kB, CN9 PET 2001-32K 32kB, CN9 PET 2001B-8 8kB, K2 PET 2001B-16 16kB, K2 PET 2001B-32 32kB, BK9W, boots in lowercase RB PET 2001B-32 32kB, K2 PET 2001N-8 8kB, H2 * PET 2001N-16 16kB, H9 CH PET 2001N-16 16kB, H2 * PET 2001N-32 32kB, H, BASIC 4.0, CS * PET 2001NT Teacher's PET. Same as 2001N, just rebadged * MDS 6500 Modified 2001N-32 with matching 2040 drive. 500 made. GP CBM 3000 Series: 40 Col. Screen, BASIC 2.0-2.3, Same Board as Thin 4000 3001 series in Germany were just 2001's with big Keyboard. * CBM 3008 8kB, 9" Screen. EG * CBM 3016 16kB * CBM 3032 32kB. SL CBM 4000 Thin Series: 9" Screen, 40 Column Only, Basic 4.0. CBM 4000 Fat Series: 12" Screen, Upgradeable to 80 Column, When upgraded to 80 Columns, the systems were 8000's. CBM 4004 4kB, One Piece. * CBM 4008 8kB, One Piece. SF * CBM 4016 16kB, One Piece. KK * CBM 4032 32kB, One Piece JB * CBM 4064 Educator 64 in 40XX case. green screen (no Fat option) GP CBM 8000 Series:12" Screen, 80 Column, BASIC 4.0 SK means "SoftKey", or "Separated Keyboard" All -SK and d units were enclosed in CBM 700/B series HP cases. CBM 8008 8kB, One Piece CBM 8016 16kB, One Piece * CBM 8032 32kB, One Piece GP * CBM 8032-32 B 8032 in Higher Profile case (HP). Could install LP drives. GP * CBM 8032 SK 32kB, Detached Keyboard, SK = SoftKey or Separated Keyboard.EG CBM 8096 96kB, 8032 with 64kB ram card * CBM 8096 SK 96kB, Detached Keyboard. * CBM 8096d 8096 + 8250LP SL * CBM 8296 128kB, Detached Keyboard, Brown like 64, LOS-96 OS TL * CBM 8296d 8296 + 8250LP SL * "CASSIE" Synergistics Inc. rebadged 8032 AH SuperPet Series:Sold in Germany as MMF (MicroMainFrame) 9000 Machines sold in Italy had 134kB of RAM. * CBM SP9000 Dual uP 6502/6809, 96kB RAM, business keyboard. GP CBM B Series: 6509 @ 2MHz, 6545/6845 Video, 6526 CIA, 6581 SID, BASIC 4.0+ (Sometimes called BASIC 4.5) Commodore differentiated between the HP (High Profile) and LP (Low Profile) series by naming all HP machine CBM. (B128-80HP was CBM128-80). Also, any machine with optional 8088 CPU card had 'X' after B or CBM (BX128-80). * CBM B128-80HP 128kB, Detached Keyboard, Cream. GP * CBM B128-80LP 128kB, One-Piece, Cream, New Keyboard. GP * CBM B256-80HP 256kB, Detached Keyboard, Cream. * CBM B256-80LP 256kB, One-Piece, Cream. GP * CBM B128-40 6567, 6581, 6509, 6551, 128kB. In B128-80LP case. CBM B256-40 6567, 6581, 6509, 6551, 256kB. In B128-80LP case. * CBM B500 128kB. KO * CBM B500 256kB. board same as B128-80. GP CBM 200 Series * CBM 200 CBM 8032 SK VM CBM 210 ??? * CBM 220 CBM 8096 SK CBM 500 Series: 6509, 6567, 6581, 6551. B series LP case, BASIC 4.0+ Sometimes called PET II series. * CBM 500 256kB. (is this the 500, or should it 515?) EC * CBM 505 64kB. * CBM 510 128kB. CBM 600 Series: Same as B series LP * CBM 610 B128-80 LP CS * CBM 620 B256-80 LP CS CBM 700 Series: Same as B series HP. Also named PET 700 Series * CBM 700 B128-80 LP (Note this unit is out of place here) * CBM 710 B128-80 HP SL * CBM 720 B256-80 HP GP * CBM 730 720 with 8088 coprocessor card CBM 740 ???? CBM 750 ???? CBM 760 ???? 3 processors and 1 MB RAM. VIC-20 Series: 22*23 screen, 5kB RAM, Basic 2.0, one piece. Could be hooked to TV with RF modulator. Cream (C), or Off-White (O) case. Flat top keys with Square type font on keycaps (S), Indent top keys with somewhat square font and thin letters for RESTORE/CLR/HOME/INST... (I), or Indent top keys with rounded type font (R). 2 Prong PS adaptor (2) or DIN PS adaptor (D). Black/Silver Decals (B), or Brown/Color Decals (H). 5 pin video connector (5), or 8 pin video connector (8) "2" implies VIC-20 motherboard. "D" implies VIC-20CR motherboard. * VIC-20 1 SOB2 GP * VIC-20 2 ICHD GP * VIC-20 3 ROB2 GP * VIC-20 4 RCHD8 JB * VIC-20 5 SCHD JB * VIC-20 6 VIC with 2001K Keyboard. MS * VIC-20 7 RCBD5 SD * VIC-20 8 CS2B5 RN * VIC-20 9 CI2B5 RN * VIC-20 10 CIH25 BZ * VIC-20 11 ROBD5 BZ * VIC-10 Japanese VIC with 2001K keyboard. * VIC-1001 VIC-10? Japanese VIC with both chars printed on keys. TG * VC-20 1 SCHD5 (German) (source says has beige instead of grey? case) * VC-20 2 RCHD5 (German) MH * VC-20 3 R5OB2 (German) Color VIC logo... CE * VC-20 4 HD (cheap label) (German) RC * VC-20 5 HD (better aluminum label) (German) RC * VC-20 6 2 (UK) RC CBM-64 Series: 40*25 screen, 64kB RAM, BASIC 2.0, one piece, TV ouput. Called VIC-64 in Sweden. Off-white VIC case (O), Brown Breadbox case (B), Cream Breadbox case (C) Flat top keys with Square type font on keycaps (S), Indent top keys with somewhat square font and thin letters for RESTORE/CLR/HOME/INST... (I), or Indent top keys with rounded type font (R). Black/Silver Decals (L), or Brown/Color Decals (H). 5 pin video connector (5), or 8 pin video connector (8) * CBM 64 1 SO * CBM 64 2 SBH8 JB * CBM 64 3 RBH8 JB * CBM 64 4 RCH8 (Referred to as a C64G) ME * CBM 64 5 RB5L JB * CBM 64 (JP) Chiclet Keyboard sold in Japan. (Might be MAX Machine) * Jubilee 64 64 in Golden case, announcing 1,000,000 units (160 units) * SX-64 Portable 64 With 5" Color Screen, One 1541 Built-in. GP * CBM-64C Cream Sloping Case, Cream Keys, GFX on front of keys JB * CBM-64C Cream Sloping Case, Cream Keys, GFX on top of keys. JB CBM-64II C64C * Educator 64-1 64 Rev1 Kernal without monitor in 64 case. RS * Educator 64-2 64 Rev1 Kernal, green monitor, PET case. GP * PET64 CBM 4064 (Educator 64-2) GP * (Color) MAX 64 with 16kB, no Keyboard, just Exp. Port and Video Out. EC Unimax MAX Machine. * Ultimax MAX Machine. FH CBM VC-10 C-64 with stripped down Basic 2.0, 2.5kB RAM, Ultimax * CBM C64G RCH8 AA * CBM C64GS Game Console, GS = Game System. 64 with no keyboard. MM C-128 Series: 128kB, Cream Case, 40*25 and 80*25 screen, 64 and CP/M em. * C-128 One-Piece Unit, 16kB VDC. GP * C-128 One-Piece Unit, 64kB VDC. * C-128D Two-Piece,16K VDC, Used C128 board, internal 1571. Fan * C-128DCR C128D with 64K VDC, Metal Case, Cost Reduced, No Fan. DL CBM 264 Series: Charcoal Grey Case, 40*25 screen * Plus/4 New Keyboard and Case design, 64kB RAM, 6551 UART GP * C-16 64 Case and Keyboard Style, 16kB RAM JB * C-116 C-16 with Chiclet keys and smaller case SL Amiga Series: 680X0 processor, Off White Case * A500 One piece, 68000, Off-White, 880K 3.5" Floppy FF * A500+ A500 + 2MB Agnus, 1MB Chip Ram Expandable to 2 MB * A600 One piece, 68000, White,ECS Chips,PCMCIA Slot,880K Floppy. * A600HD A600 with 40 MB HD. * A1000 Detached Keyboard, 68000, Cream, 256kB, 880K Floppy. * A1000-1 Detached older style keyboard, 68000, no daughterboard CS * A1000-2 Has both daughter and motherboards YC * A1200 White, 68EC020, PCMCIA slot,AGA graphics, one piece. AC A1200HD/40 A1200 with 40 MB HD. * A1500 UK released A2000 with two drives * A2000A detached keyboard, slots, 68000, .5 MB on board, .5 MB on card in processor slot, German design * A2000B US design, 1 MB on motherboard, CPU slot free MN * A2000HD A2000 with installed 50 MB SCSI hard disk. GR * A2500/20 A2000 with A2620(68020,68881,68851 @14.3MHz) processor card.CS * A2500/30 A2000 with A2630(68030,68882 @25 MHz) processor card. CS * A2500UX A2500 with UNIX and TapeDrive * A3000/16 ECS graphics, 68030 and 68881 @ 16 MHz, SCSI hard drive * A3000/25 ECS graphics, 68030 and 68882 @ 25 MHz, SCSI hard drive BZ * A3000T Tower Case with more slots. * A3000T/40 Tower Case with more slots and 68040 * A3000UXA A3000 with ATT Unix V.4, 5MB RAM, 100MB HD. * A3000UXB A3000 with ATT Unix V.4, 10MB RAM, 200MB HD. * A4000/030 AGA graphics, 68EC030, IDE HD, 1.76 MB Floppy, no MMU. * A4000/040 White, AGA graphics, 68040, IDE HD, 1.76 MB Floppy. FF * A4000T Tower Case with More Slots. * Amiga CD32 Based on A1200, double speed CD-ROM, no keyboard. * CDTV Black case, based on A500+ with CD-ROM, no keyboard, Remote.FF PC Series: * A1060 DOS/PC SideCar that connects to an A1000. * A2088 8088 BridgeBoard for A2000 and higher (4.77 MHz). * A2088D A2088 @ 9.54 MHz. * A2286/8 80286 @ 8MHz BridgeCard. * A2386/16 80386 @ 16MHz BridgeCard. * A2386/20 80386 @ 20MHz BridgeCard. * A2386/25 80386 @ 25MHz BridgeCard. Hyperion PC Clone. Looked like Dynalogic Hyperion * PC-1 8088 @ 4.77 MHz, Non-expandable. PC-IV ??? * PC-5 8088 @ 4.77 MHz, 256kB RAM, 360kB 5.25" FD, monochrome. SL * PC-10 8088 @ 4.77 MHz, 256kB RAM, 2 Floppies, Large Case, German. * PC-10 HD PC-10 with 640kB RAM, 360kB 5.25" FD, 30 MB HD. * PC-20 PC-10 with 1 Floppy/1 10MB HD. RS * PC-30 80186 (US only) RS * PC-40 80286 @ 10 MHz, Large Case RS * PC-50 80386SX @ 25MHz. RS * PC-60 80386DX @ 16 MHz German. * PC-70 Pentium, US only model. * PC-10 II PC-10 with "Combined Board", 640 KB RAM. BZ * PC 20-II PC-10 II with 1 floppy, 10 MB HD, later 20 MB. * PC 10-III-1 PC-10, large case, CGA + Hercules. * PC 10-III-2 PC-10, small case, turbo mode 9.54 MHz, CGA + Hercules. * PC 20-III PC-10 III with 1 floppy, 20 MB HD. * PC 30-III cheaper variant of PC 40-III (EGA, smaller HD, etc.). * PC 35-III PC-30 III with VGA * PC 40-III-1 AT with 80286, 12 MHz, HD floppy, 20 MB HD, VGA&iO on cards * PC 40-III-2 PC 40-III, Colt style "all-in-one" brd, called Sel. Ed. 286 RM * PC 40-III-3 PC 40-III in tower case. * PC 45-III a bit bigger HD * PC 60-III AT 80386 @ 25 MHz, 0-200 MB HD, 5.25" and 3.5" FD, Tower. * PC Colt Denoted a line of rebadged CBM PC units. BZ SL 286 AT 80286 @ 16 MHz, VGA, 2MB RAM, 40 MB HD, 3.5" FD, Slimline. SL 286 AT as above but with extra 5.25" FD, Slimline. SL 386 SX 80386SX @ 16 MHz, VGA, 2MB RAM, 40 MB HD, 3.5" FD. SL 386-SX25 80386SX @ 25 MHz, SVGA 2MB RAM, 80 MB HD. DT 386-25 80386DX @ 25 MHz, VGA, 1MB RAM, 40 MB HD, Desktop. DT 386-33 C 80386DX @ 33 MHz, SVGA, 4MB RAM, 80/100 MB HD. DT 486-33 C 80486DX @ 33 MHz, SVGA, 4MB RAM, 80-120 MB HD. DT 486SX-25 80486SX @ 25 MHz, SVGA, 4MB RAM, 80 MB HD. * DT 486SX-25 80486SX @ 25 MHz, SVGA, 4MB RAM, 120 MB HD. DA DT 486-25 C 80486DX @ 25 MHz, SVGA?, 4MB RAM, 100 MB HD. T 486-25 C DT 486-25 C in Tower Case. T 486-50 C 80486DX @ 50 MHz, SVGA, 4MB RAM, 120 MB HD. * C 286 LT 12 80286 @ 12.5 MHz, 1MB RAM, 20 MB HD, 3.5" FD Notebook. * C 386SX-LT 80386SX @ 16 MHz, VGA (8 gray scale), 1 MB RAM, 20MB HD SA * C 386SX-LT 20 80386SX @ 20 MHz, VGA, 2MB RAM, 40 MB HD Notebook. * C 386SX-LT 20 80386SX @ 20 MHz, VGA, 2MB RAM, 60 MB HD Notebook. * C 486SX-CLT 80486SX color notebook. * CL450e 80486DX @ 50 MHz, 32 bit EISA bus, SN# E4500007 JO * 4S3MPC 80486SX @ 33 MHz, VESA SVGA, 4MB RAM, 170 MB HD, *2 CD/Snd Cassette Series:Took regular cassettes, non standard format data. Note: 1530 is same as C2N. Therefore, variations were not expanded. * CBM C2N-1 Black, 8.00"Lx5.25"Wx2.50"H, 5 button, No Tape Ctr. GP * CBM C2N-2 Cream C2N-1, Tinted Window, Tape Counter. JB * CBM C2N-3 C2N-2 with bolder logo. GP * CBM C2N-4 Cream, 6.00"Lx7.75"Wx2.00"H, 6 button,Clear Win., Tape Ctr. GP * CBM C2N-5 C2N-4 with no counter label, orange under cassette. GP * CBM C2N-6 C2N-4 with no save label, bolder logo. GP * CBM C2N-7 C2N-4 with tinted win., bolder logo. BG * CBM 1531 Charcoal Grey C2N-6, Commodore 16/+4 Cassette Drive TH * CBM Load-It LED Readout, Adjustment Screw Disk Drive Series: * Amiga 1010 Single 3.5" 880K, offered for Amiga 1000, AmigaSerial. MJ * Amiga 1011 Single 3.5" 880K, offered for Amiga 500 & 2000, AmigaSerial.JM * Amiga 1020 Single 5.25", 440K Amiga, 360K MS-DOS, In 1571 Case. CS * Amiga 2010 Single 3.5", 880K Internal for A2000/2500. * Amiga 2020 Single 5.25", 440K Internal for A2000. * Amiga 3010 Single 3.5", 1.76M Dual Speed, internal. * CBM 1541 *All types, see VIC 1541* * CBM 1541C Single 5.25" 170K, updated 1541, Brown, Turn-Down,Serial. * CBM 1541C Single 5.25" 170K, updated 1541, Cream, Turn-Down,Serial. GP * CBM 1541C Single 5.25" 170K, updated 1541, Cream, Push-Down,Serial. GP * CBM 1541 II Single 5.25" 170K, Cream, Sep. PS, Direct Drive, Serial. GP * CBM 1541 II Single 5.25" 170K, Cream, Sep. PS, Belt Drive, Serial. JB * CBM 1542 Single 5.25" 170K, Charcoal Grey, Serial. * CBM 1551 1541, Push-Down Closure, Chacoal Grey, TED Parellel. RJ * CBM 1551 1541, Turn-Down Closure, Chacoal Grey, TED Parellel. PB * CBM 1570 Single 5.25" SS Version of 1571, Cream in 1541 case. GP * CBM 1571 Single 5.25" 340K(128),170K(64),CPM,Cream,Alps Mech,Serial. GP * CBM 1571 Single 5.25" 340K(128),170K(64),CPM,Cream,NewT Mech,Serial. GP * CBM 1571CR Internal 1571 used in C128D * CBM 1572 Dual 1571, Cream color, 5000 made, side-by-side device 0&1 * CBM 1581 Single 3.5" 800K, Cream, Serial. JB * CBM 2020 dual ???" external floppy drives LI * CBM 2031 Single 5.25" 170K, Off-White, IEEE-488. GP * CBM 2031-SL Single 5.25" 170K, Off-White, IEEE-488. (SL = Slim Line) * CBM 2031 LP Single 5.25" 170K, DOS2.6, Off-White, 1541 Case,IEEE-488. GP * CBM 2031 LP Single 5.25" 170K, DOS2.6, Tan, 1541 Case,IEEE-488. GP * CBM 2040 Dual 5.25" 170K, DOS1.0, Off-White, No Rel Files, IEEE-488. GP * CBM 2040 Dual 5.25" 170K, DOS1.2, Off-White, No Rel Files, IEEE-488. GP * CBM 2081 Single 5.25" ????? * CBM 3040 2040. GP * CBM 4031 HP 2031 HP. (Has 4040 Mechanism) SL * CBM 4031 LP 2031 LP. * CBM 4040 Dual 5.25" 170K, DOS2.0, Off-White, IEEE-488. * CBM 4040 Dual 5.25" 170K, DOS2.1, Off-White, IEEE-488. GP * CBM 8050 Dual 5.25" 512K, DOS2.1, Off-White, IEEE-488. * CBM 8050 Dual 5.25" 512K, DOS2.5, Off-White, IEEE-488. GP * CBM 8050 Dual 5.25" 512K, DOS2.7, Off-White, IEEE-488. JB CBM 8060 Single 8", 750K, Off-White, IEEE-488. * CBM 8061 Dual 8", 1.6M, Off-White, IEEE-488.(IBM 3740 and CBM format)GP * CBM 8062 Dual 8", 3.2M, Off-White, IEEE-488.(IBM 3740 and CBM format) * CBM 8250 Dual 5.25" 1MB, DOS2.7, Off-White, IEEE-488. GP * CBM 8250 LP Dual 5.25" 1MB, DOS2.7, Off-White, Half Height, IEEE-488. GP * CBM 8280 Dual 8" 1MB, DOS3.0, Off-White, Read IBM disks, Slimline. WA * CBM D9060 5 MB Hard Drive, DOS3.0, Off-White, IEEE-488. GP * CBM D9090 7.5 MB Hard Drive, DOS3.0, Off-White, IEEE-488. GP * CD 1411 Black version of Amiga 1011. CDTV dedicated. * PC 910 Single 3.5" 360K/720K, Internal for PC10/20-I-II-III. * PC 915 Newer 910. * PC 920 Single 5.25" 360K/1.2M, Internal for PC10/20-I-II-III. * SFD 1001 Single 5.25" 1MB, In 1541 Case, DOS2.7, Brown, IEEE-488. JB * SFS 481 CBM 1551. (This was its first number, then they renamed it) * VIC 1540 Single 5.25" 170K, Off-White, Xfer spd > 1541, Serial. * VIC 1541 Single 5.25" 170K, Push-Down Closure, Off-White, Serial JB * VIC 1541 Single 5.25" 170K, Push-Down Closure, Brown, Serial. JB * VIC 1541 Single 5.25" 170K, Turn-Down Closure, Brown, Serial. JB Printer Series: * CBM 530 Small Receipt Printer, 70mm paper roll, black/red ribbon BC * CBM 1526 80 Col. 8.5" Wide 8*8 Matrix No GFX, Brown, Serial 60cps. JB CBM 2021 80 Col. Matrix Electrosatic (Thermal) Printer, GFX. * CBM 2022 80 Col. 8.5" Wide 7*6 Matrix No GFX, Off-White, IEEE-488. GP * CBM 2023 Friction-Only 2022. * CBM 3022 2022 for PET 3000, IEEE-488. SL * CBM 3023 2023 for PET 3000, IEEE-488. TL * CBM 4022 80 Col, 10" Wide 8*6 Matrix No GFX, Epson MX-80, IEEE-488. SL * CBM 4022p Bidirectional 4022, Epson MX-70?, IEEE-488. * CBM 4023 80 Col. 10" Wide 8*8 Matrix No GFX, NLQ, Brown, IEEE-488. GP * CBM 6400 C.Itoh Starwriter F10-40, Centronics or IEEE-488 SL CBM 8022 ? * CBM 8023 80 Col. 14" Wide 8*8 Matrix No GFX, Off White, IEEE-488 JB CBM 8023P 136 Col. 15" Wide 8*6 Matrix, GFX, IEEE-488. * CBM 8024 132 Col. Mannesman Tally, 7*7, Upgrade to 7*9, Cream, IEEE. GV * CBM 8024/A 132 Col. Mannesman Tally, 9*7, 160 cps bidirectional. SL * CBM 8024L 8024 Multi-Pass NLQ Printer, IEEE-488. * CBM 8026 OLYMPIA ESW-103, TypeWriter Printer, IEEE-488. * CBM 8026b 8026 Extended.? * CBM 8027 8026 without Keys, IEEE-488. * CBM 8028 132 Col. 15" Daisy-Wheel, (Robotron), Cent./IEEE-488 SL * CBM 8075 Plotter, available in 1 and 8 pen variety, IEEE-488 * CBM 8229 8028 with 16kB print buffer. * CBM 8300P Diablo 630, Daisy Wheel, Cream, IEEE-488. CBM-P1 Daisy Wheel Printer. * DPS 1101 132 Col. 13", Daisy-Wheel, Friction Feed, Juki 6100, Serial. * DPS 1120 116-175 Col. 14.5" wide Daisy, Black, Serial. (Olympia) RH * IP3300 Ink Jet Printer IM * LPS 2000 Laser Printer, Centronics (Possibly German Only). * MCS 801 80 Col. 8.5" Wide 8*8 Matrix GFX Color, Serial. FB * MPC 801 Juki Color Printer HR * MPP 1361 8023P. GP * MPS 801 80 Col. 8.5" Wide 7*6 Matrix GFX, Brown, Serial. GP * MPS 802 1526. JB * MPS 803 80 Col. 8.5" Wide 7*6 Matrix GFX, Brown, Serial. GP * MPS 803 80 Col. 8.5" Wide 7*6 Matrix GFX, Charcoal Grey, Serial. GP * MPS 810 Okimate 10 ? CA * MPS 820 Okimate 20 ? CA * MPS 1000 Epson HomeWriter, US Version. 9 pin, 100cps draft. BZ * MPS 1000 Epson HomeWriter, Intl. version with switchable charsets. GD * MPS 1000 Seikosha 1000. * MPS 1200 Citizen 120D. 9 pin 120 cps draft, CBM Serial interface. BW * MPS 1200P MPS 1200 with Parallel Interface. DW * MPS 1224C Mannesmann Tally, 24 pin Color Printer, MT Printer, Ser/Par * MPS 1230 Citizen, 9 pin, Centronics. EB * MPS 1250 Citizen, Serial/Centronics. BZ * MPS 1270 Ink Jet Printer, uses Kodak Diconix Cartridges, Centronics. DL * MPS 1500 ??? * MPS 1550 9 pin printer, Centronics. * MPS 1550C 9 pin 4 color Printer, OLIVETTI DM105, Centronics. MH * MPS 2000 NEC P6 * MPS 2000C NEC P6 Color * MPS 2010 NEC P7 * MPS 2010C NEC P7 Color * VIC 1510 ???? (predecessor of VIC 1515) * VIC 1515 80 Col. 7.0" Wide 6*7 Matrix GFX, Off White, Serial. GY * VIC 1520 80 Col. 4.0" Wide Plotter, GFX, Off White, 4 color. Serial * VIC 1520 80 Col. 4.0" Wide Plotter, GFX, Brown, Paper Cover,Ser. GY * VIC 1520 80 Col. 4.0" Wide Plotter, GFX, Brown, No Paper Cover,Ser. PZ * VIC 1525 80 Col. 8.5" Wide 7*6 Matrix GFX, Off-White, Serial. JB VIC 1525e same as 1525, but ROMs implement slower bus for 64. Monitor Series: * CBM 1070 Dig&Analog RGBI. BR * CBM 1080 13" Comp. Sep, Dig&Analog RGB YC * CBM 1081 1987 German Amiga Monitor MK * CBM 1083S-P1 13" Comp, Sep, D&A RGBI, Stereo, CVBS/RGB/LCA 1991 French PM * CBM 1084 1080 with squarer case .42mm dot pitch * CBM 1084-D 12" Comp. Sep, Dig&Analog RGBI, ???? case, Mono. FM * CBM 1084S-P 13" Comp, Sep, Dig&Analog RGBI, 1902 case, Stereo. FF * CBM 1084S-P1 13" Comp, Sep, Dig&Analog RGBI, 1084 case,stero hphone jack MJ * CBM 1084S-D 13" Comp, Sep, Dig&Analog RGBI, 1080 case, Stereo. JB * CBM 1084S-D1 13" Comp, Sep, Dig&Analog RGBI, 1084 case, Stereo. DE * CBM 1085S 14" .52mm dot pitch 1084 * CBM 1402 12" Hercules Monitor SM * CBM 1403 13" VGA. * CBM 1404 14" Amber Monochrome. * CBM 1407 14" VGA Monochrome, 64 grey tones. * CBM 1450 Monochrome BISYNC monitor. CBM 1601 12" Monochrome monitor. CBM 1701 13" Comp, Sep, 5 pin DIN adaptor, JVC elec. Hitachi tube. JB * CBM 1702 13" Comp, Sep, Came with 8 pin DIN adaptor. Magnavox. JB CBM 1703 Repackaged 1702 for 264 series, Was Charcoal Grey. * CBM 1801 14" Comp, Sep, PAL. JT * CBM 1802 13" Comp, Sep, Mono, Grey, one big knob in front. PS * CBM 1802 13" Comp, Sep, Mono, Grey, Two small knobs in front. * CBM 1802 13" Comp, Sep, Mono, Cream, Tilted screen. * CBM 1802C 13" Comp, Sep, Mono, Cream, Straight screen. * CBM 1900 12" Green Mono Monitor. CBM 1901 European 128 Monitor (Thomson). AC * CBM 1902 13" Comp, Sep, Digital RGBI, has a 9 pin RGB plug. MP * CBM 1902A 13" Comp, Sep, Digital RGBI, Looks like 1084, DIN RGB plug. DL * CBM 1903 13" EGA * CBM 1904 13" EGA * CBM 1930 14" VGA .31mm dot pitch. * CBM 1934 14" VGA .39mm dot pitch. * CBM 1935-II 14" SVGA, .28mm dot pitch, MPR-II low radiation. * CBM 1936 14" SVGA .28mm dot pitch. * CBM 1944 13" EGA Low Radiation * CBM 1940 Amiga Multiscan Monitor * CBM 1942 Amiga Multiscan Monitor FF * CBM 1950 13" MultiScan * CBM 1960 13" MultiScan * CBM 2002-23 13" Comp, Sep, Dig&Analog RGBI. CS * CBM 2002-89 13" Comp, Sep, Dig&Analog RGBI. CBM 2020 * CBM 2024 15" Grey scale 1024*1024(PAL), 1024*800(NTSC). IN * CBM 2080 13" CBM 1080 with High Persistence Phosphors. TM * CBM CM141 13" Comp, Sep., Grey. WS * CBM CM8833 JA * CBM DM-10 12" CGA monochrone text monitor for PC-10. * Viking Moniterm: 19" Grey Scale 1024*1024, Made by Moniterm/CBM. 2024 is similar, but has electronics in monitor. Modem Series: Direct Connect (8010 is aucoustic). * Amiga RS1200 0-1200 bps, Hayes Compatible * Btx-Modul I Cartridge IC to display CEPT GFX (BTX = German CIS) * Btx-Modul II Upgraded version of Btx-Modul I. * CBM 1650 0-300 bps, Pulse Dial, known as 'Automodem' BZ * CBM 1660 0-300 bps, Pulse Dial, Tone Dial with 64, Brown/White DV * CBM 1660 0-300 bps, Pulse Dial, Tone Dial with 64, Cream/Black DV * CBM 1670 0-1200 bps, Hayes Compatible, ATS0=0 turns off Auto-Answer BZ * CBM 1670CR 1670 with DIP switches to turn off default auto-answer JB * CBM 1680 1670 with true RS-232 for Amiga. BZ * CBM 6499 300/300 and 1200/75 bps modem for 64. Italian Compunet? FF * CBM 8010 0-300 bps, US & Euro Versions, IEEE-488 SL * Compunet plugged into Exp. Port, Cream case. * VIC 1600 0-300 bps, No dial. JB * VM 2400 0-2400 bps, CCITT V.24, Model 701324, BTX, MNP 5, V.42bis RL Mouse Series: * CBM 1350 Emulates Joystick only BZ * CBM 1351-1 Emulates Joy and prop mouse. sliding ball release IC * CBM 1351-2 Emulates Joy and prop mouse. rotating ball release IC * CBM 1352 Amiga 2 button Mouse, will work with PC-III models. MN * CBM 1360 Serial Mouse for PC series. * 313254-01 2 button Amiga mouse. BZ * 313255-01 3 button Amiga mouse. CS * CD-1252 Amiga 2 button mouse, black, infrared, CDTV dedicated * CD-1253 CDTV mouse, 8.5 foot cable. black BB RAM Expanders: * 8032099 64kB RAM for 8032. RS * A501 512kB for Amiga 500 AC * A501+ 1MB for Amiga 500+ * A590 Ram Expansion 2MB, SCSI and XT bus for A500 * A601 1MB for Amiga 600 * A1050 256kB for Amiga 1000 (Under Front Cover) CS * A2058-2 2MB for Amiga 2000, expandable to 8 BK * CBM 1700 128kB. WS * CBM 1750 512kB AC * CBM 1764 256kB. JB * CD 1401 Personal RAM Card for CDTV (64kB) * CD 1405 Personal RAM card for CDTV (256kB) * VIC 1110 8kB for VIC-20 WS * VIC 1111 16kB for VIC-20 JB * VIC 1210 3kB for VIC-20 BZ Joysticks: VIC Joystick, Atari style body and stick. * VIC 1311 VIC Joystick, Rectangular body, triangular stick JB * VIC 1312 VIC Paddles MP * Paddles, Dark Grey, Light Grey Knobs. GP * T-1341 Plus 4 Joystick * T-1342 Plus 4 Joystick BZ CPU Upgrade Series: * Amiga 2620 68020 and 68881 @ 14.3 MHz for A2000 CS * Amiga 2630 68030 and 68882 @ 25 MHz for A2000 with 4MB RAM CS * Amiga 3640 68040 CPU Card for A3000T. FF Networking Series: * Amiga 560 ARCNET for Amiga 500. MN * Amiga 2060 ARCNET for A2000 for star topology MN * Amiga 2060 ARCNET for A2000 for bus topology * Amiga 2065 Ethernet for A2000 * Amiga 2232 7 Port Multi-Serial Card. * MBS 100 Mehr-Benutzer-System (Multi-User-System) Mother Unit with SL one D-25 and 1 IEEE-488. Basically a simply-designed peripheral-sharing system * MBS 150 Daughter Unit, had two D-25's and one IEEE-488 * MBS 150 MBS 150 with extra plug to connect 8032SK SL * MBS-CP MBS System for Commodore 64. Cartridge Series: * C64108 Simons' BASIC JB * International Soccer * Magic Desk I MN * Magic Voice Speech Module * Music Machine * Number Nabber JB * Shape Grabber JB * C64403 Music Composer JB * C64601 Jupiter Lander MN * C64602 Kickman * = Bally developed under CBM license JB * C64603 Sea Wolf * JB * C64604 Speed Math/Bingo Math * C64605 Radar Rat Race * C64606 Clowns * MN * C64609 Visible Solar System * C64610 Tooth Invaders C64612 Blueprint * * C64613 Lazarian * * C64614 Omega Race * C64615 Wizard of Wor * C64616 Le Mans * C64617 Pinball Spectacular * C64618 Gorf * C64621 Avenger JB * C64622 Super Smash JB * C64623 Star Post * C64624 Frogmaster * C64631 Star Ranger * 64 Super Expander JB * C16 Tutor JB Jelly Monsters VIC Cart, Pac Man Clone. GFX too close to AB Pac Man. Taken off Market. GFX changed. Re-released as Cosmic Crunchers. * VIC 1211A VIC SuperExpander with 3kB RAM Expansion. (for VIC-20) (gm) JB * VIC 1212 VIC Programmer's Aid. (for VIC-20) BZ * VIC 1213 VIC Machine Language Monitor. (for VIC-20) HS * VIC 1901 Avenger (VIC Avenger) (bp) GY * VIC 1901 Avenger (VIC Avenger) (gm) JB * VIC 1902 Star Battle * VIC 1904 Slot (Super Slot), Japan, embossed aluminum label GY * VIC 1905 Jelly Monsters, Handic SW, Sweden, silver foil label * VIC 1906 Alien (Super Alien) (gm) JB * VIC 1907 Jupiter Lander (Super Lander?) (gm) JB * VIC 1908 Poker (Draw Poker) GY * VIC 1909 Road Race (Midnight Drive) GY * VIC 1909 Rat Race? Handic SW, Sweden, silver foil label AB * VIC 1910 Radar Rat Race GY * VIC 1911 The Sky Is Falling GY * VIC 1912 Mole Attack (gm) JB * VIC 1912 Mole Attack (bp) JB * VIC 1913 Raid On Fort Knox, Hong Kong (gp) GY * VIC 1913 Raid On Fort Knox, Hong Kong (bp) JB * VIC 1914 Adventure Land GY * VIC 1914 Adventure Land (bp) JB * VIC 1915 Pirate's Cove GY * VIC 1916 Mission Impossible GY * VIC 1917 The Count GY * VIC 1917 The Count (bp) JB * VIC 1918 Voodoo Castle GY * VIC 1919 Sargon II Chess (gm) JB * VIC 1920 Pinball (Pinball Spectacular?), Hong Kong, grey plastic lab GY * VIC 1921 Super Smash GY * VIC 1921 Super Smash (bp) JB * VIC 1922 Cosmic Cruncher (bp) JB * VIC 1923 Gorf (bp) JB * VIC 1924 Omega Race (bp) JB * VIC 1924 Omega Race (gm) JB * VIC 1925 Money Wars GY * VIC 1926 Menagerie * VIC 1927 Cosmic Jailhouse (Cosmic Jailbreak), Hong Kong, grey label * VIC 1928 Home Babysitter * VIC 1929 Personal Finance * VIC 1930 Visible Solar System GY * VIC 1931 Clowns GY * VIC 1932 Garden Wars GY * VIC 1933 Speed Math/Bingo Math GY * VIC 1933 Speed Math/Bingo Math (bp) JB * VIC 1935 Commodore Artist (gp) JB * VIC 1937 Sea Wolf (bp) JB * VIC 1938 Tooth Invaders GY * VIC 1939 Star Post (bp) JB * VIC 1941 Number Nabber Shape Grabber VIC 2011 VIC-Stat cartridge. VIC 2012 VIC-Graph cartridge. VIC 2013 VIC-Forth cartridge. Cassette Software Series: * An Introduction to BASIC Part I (VIC) PA * An Introduction to BASIC Part II (VIC) PA * C64301 An Introduction to BASIC Part I (64) JB * VL110 Gorek and the Microchips JB VT106A Recreation Six Pack (Car Chase, Blue Meanies, Space Math, Slither/Super Slither, Bioryhtm Capability) * VT107A Home Utility Six Pack (Cassette with Personal Finance I & 2, VIC Typewriter, Expense Calendar, Loan and Mort. Calc, Home Inventory DR * VT108 Math Improvement Six Pack (Numbowl, LCM Machine, Sector Five, Backfire, Ruler Dueler, City Motel PA * VT109 Six Pack Sampler (Crawler, Treasure of the Bat Cave, Big Wolf, Alpha Draw, Music Synthesizer, Super Seeker PA Diskette Software Series: * C64106 PILOT Programming Language (Large Book) JB * C64207 Easy Script 64 (book, disks, and cardboard case JB * C64220 General Ledger v1.0 JB * C64221 Account's Receivable CO * C64222 Account's Payable CO * C64223 Payroll v1.0 CO * C64626 Infocom Zork II (marketed under CBM name) JB * C64628 Infocom Deadline (marketed under CBM name) JB * C64711 Math III JB * Introduction to Advanced BASIC Commands and Concepts JB * Model 1541 Test/Demo Diskette JB * Commodore 64 Screen Editor JB Miscellaneous Series: * High Speed Graphic Expander for 600/700 Series SK * Tractor Feed for MPS 803 BZ * HiRes Graphics for PET 4000/8000. * MOS Technology EPROM Programmer, Off-White. GP Single Sheet Feeder for CBM 8028. CBM 3040 to CBM 4040 ROM upgrade kit. * 252594-01 CDTV remote controller, standard unit. BB 324402 High Speed Graphics board for CBM 40XX/80XX. PO 1001027-03 PAL TV Modulator for VIC-20. FF * 201490-01 CHESSmate PCB: 201482 Rev A. 4 LEDs, 4 dig display. 19 key MB * Amiga 10 Stereo MultiMedia Speakers, Cream. CS * Amiga 520 RF Modulator Channel 3-4, Audio In, Video Out, RF Out JM * Amiga 570 CD-ROM for Amiga 500+, CDTV compatible. * Amiga 1300 Amiga Genlock made for Amiga 1000. * Amiga 1310 Amiga Genlock. * Amiga 2031 Amiga PAL Video modulator board for A2000 * Amiga 2032 Amiga PAL Video modulator board for A2000 * Amiga 2070 150.250 MB Tape Drive, uses 1/4" tape, Grey, SCSI, A2000 * Amiga 2090 SCSI and ST506 (MFM) MN * Amiga 2090A Autoboot A2090 * Amiga 2091 SCSI Controller, RAM Expansion. CS * Amiga 2300 Amiga Genlock for A2000. Amiga 2301 Semi-professional Genlock (Possibly PAL?) * Amiga 2320 Deinterlacer card. Converts 15.75KHz display to 31.5KHz. * Amiga 2350 Professional Genlock for A2000. Amiga 2351 Genlock (PAL?) * Amiga 2410 "University of Lowell" TIGA Card, 8 bit GFX, TI34010. Amiga 2995 Video Master (Direction rack + Genlock + Video Digitizer) * Amiga 3070 150.250 MB Tape Drive, uses 1/4" tape, Cream, SCSI. CS * Amiga 3406 Amiga RF Modulator. * Amiga 4091 SCSI-2 Controller for Zorro III Slot. * AMIX O.S. ATT SysVR4 for A2000. Requires A2620. * CBM 1399 MicroSwitches Joystick w/ Auto-Fire. * CBM 4010 Voice Response Unit made by Votrax for PETs. * CBM 4270 I/O Controller for CBM PET series. SL * CBM 8072 Graphics Tablet, IEEE-488. * CBM 64850 Magic Voice Module for Commodore 64. (p/n 319000-01 GB * CBM 60110 Commodore 64 CP/M Cartridge. US model? JV * CBM 606480 Commodore 64 CP/M Cartridge. German model? HS * CD 1200 Black external infrared controller for CDTV. * CD 1221 Black version of A4000 Keyboard. CDTV dedicated, not I/R. BZ * CD 1300 Genlock card for CDTV (NTSC) * CD 1301 Genlock card for CDTV (PAL) * CD 1321 SCART card for CDTV CSA 58A-601 Thermostat manufactured for Johnson Controls. DB * Sound Expander CBM SFX FM Sound Expander: uses FM DSS IC in Yamaha DX7 RW * Sound Sampler CBM SFX Sound Sampler RW * x375 Commodore Scanner DI * VIC 1011A RS-232 Interface, Outputted True RS-232 Voltages DT * VIC 1011B RS-232 20mA Current Loop. NP * VIC 1020 Expansion Chassis for VIC AC * VIC 1112 IEEE-488 Interface. HS VIC 1214 VIC Voice Synthesizer. VIC 4011 VIC-REL (Rele') Remote control switch VIC 4012 Vic-Switch. Allow 16 VICs to share drives and printers. * VIC 1010 VIC-20 Expansion Module GE * VM115 Softback Books (VIC Revealed, VIC Games, VIC Graphics, Stimulating Situations for the VIC) ------------------Commodore Models Never Produced or Marketed:---------------- Commodore TOI Series: TOI "The Other Intellect" Commodore PET Series: * CBM 4032-P Portable 4032 Prototype. Had 4032, 4040, and Datasette. RS * CBM 8033 Color 8032. (Used NEC monitor in regular monitor housing) PETREGISTER (CBMREGISTER) Cash register PET (based on 8032). 50 units Commodore VIC Series: VIC-20TV Vic-20 with built in 2" TV Commodore 64 Series: CBM SX-100 Predecessor of the SX-64, had B&W monitor. CBM DX-64 SX-64 with two drives. Commodore 264 Series: * CBM 232 C16 in Plus/4 case with 32 kB RAM * CBM 264 Prototype Plus/4 JB * CBM CV364 264 with keypad and speech synthesizer. * CBM 464 C900 Commodore LCD Series: CBM CLCD Commodore Portable with LCD screen. 1MHz 65C102, BASIC 3.6, 32 kB RAM, 96 kB ROM, 80x16 text display, 480x128 graphics, RS-232-C, Centronics, and H-P Bar Coder Ports, Plus-4 type keyboard, no SID, no sprites, ML Monitor in ROM. CBM C64Laptop Erroneous name for CLCD. Commodore 128 Series: CBM C128PC Preannounce name for C128. * CBM C128D/81 Prototype C128D (plastic) with 3.5" drive AA * CBM 256 128 with 125MB HD, one button mouse, built-in 3.5" drive FD Commodore P series: CBM P128 P-500 * CBM P500 B128 case, 2 joystick ports, 40 column video. LA C900 Series: Prototype UNIX System, dropped after Amiga acquisition Zilog Z8000 CPU, Runs Coherent 0.7.3, UNIX 7 clone, Built-In Floppy, HD, IEEE-488. MFM Disk Controller, 1MB 9600 bps, 500 units made. Came in two versions. * C900/lo LoRes (80*24 Text, Max 6 Serial Lines) PL * C900/hi HiRes (1024*800 Graphics 2 Serial Lines) SL * Z 8000/lo C900/lo PL * Z 8000/hi C900/hi SL Amiga Series: A300 Prototype A600 A300CD A 300 + CD ROM Drive (first name of CD32 unit.) A3000+ 3000 with 25MHz 68040, AGA, DSP. (<100 made) CDTV-II CDTV with built in drive Commodore 64DX Series: had both 64 and 65 mode. built in 1581 style drive. Native mode had BASIC 10.0, dual SID, 128kB and 3.54 MHz 6502 derivative CPU with extra addressing modes. Could access >64kB directly. * CBM C65 Commodore 64 DX Machine JB Drive Series: CBM 1010 Pre 2040 prototype? CBM 1020 Pre 2040 prototype? CBM 1030 Pre 2040 prototype? CBM 1541H High density 1541 drive CBM 1543 1541H CBM 1541D Double 1541 CBM 1561 720kB single 3.5". for Commodore LCD. * CBM 1563 720kB single 3.5". prototype of 1581, found in C128D/81 AA CBM 1571 II 1571 with external PS * CBM 1590-D-1 Single 3.5" 1.44MB, DOS 14.13, 1581 case, Serial. JV CBM 2041 Single 5.25" 170K, DOS1.2,Off-White,No Rel Files,IEEE-488. CBM 4040 LP Dual 5.25" 170K, Off-White, Half Height, IEEE-488 CBM 8070 Dual 8", ???? CBM 8250 LP Prototype, no "tower" PCBs on motherboard PK CBM D9062 Dual D9065. CBM D9065 7.5 MB Hard Drive * 35MB HD, Serial JV 3.5" DD FD for CBM Laptop, battery powered PC Series: * PC-30 PC-20-II with 20MB HD PK * PC-70 prototype of TW486-25C PK PC-80-1 80386DX @ 16MHz, German. PC-80-2 Pentium Pro machine. (US only) A2088T A2088 @ 8 MHz. V20. A2286/6 80286 @ 6MHz BridgeCard. A2286/10 80286 @ 10MHz BridgeCard. CPU Upgrade Series: Amiga 2630 68030 and 68882 @ 33 MHz for A2000 with 4MB RAM Miscellaneous Series: * Amiga 3091 Internal SCSI Controller for A3000. It exists, but is not a product. It is a nickname for the SCSI Controller part of the A3000 Motherboard. -----------------------------Owner Mnemonics:--------------------------------- AA Al Anger coyote@bridge.net AB Adam Bergstrom adam.bergstrom@um.erisoft.se AC Anders Carlsson anders.carlsson@star.ct.se BA Brian Van Avermaete sespgrrmmr@aol.com BB Brian Bell bbell19@nwlink.com BC Barbara Clarke queenbee@mpx.com.au BD Bill Dwyne dwyne@wchat.on.ca BG Bruce Gomes bgomes@magiccarpet.com BK Barry Kryshka avs@visi.com BR Bob Richardson BW Bill Ward BZ Bo Zimmerman bo@prismnet.com CA Chris Alevras CE Chris Eckersley chris@brutaleq.demon.co.uk CH Charlie Hitselberger 72570.2520@compuserve.com CK Cameron Kaiser ckaiser@sdcc17.ucsd.edu CO Carl Sofranko snowhite@borg.com CS Christian Stich DA Doug Armstrong DB David Belter DE David Evola devola@attila.stevens-tech.edu DI Darren Allion DL Daniel Lowe DR Dave Ross dross4@niu.edu DT David Veatch david.veatch@thuemmel.com DV David Villegas mnementh@netcom.com DW Dirk Wilberg Dirk_Wilberg@t-online.de EB Erik Inge Bols eibolsoe@online.no EC Ernie Chorney EG Edward Groenenberg FB Fredrick Backman FD Fred Dagler fdagler@netcom.com FF Fabrizio Farenga FH Frank Hughes frankh@iquest.net FM Frank McKee FRMCKEE@delphi.com FR Francois Bruggemans Francois.Bruggemans@ping.be GB Gene B 103243.446@compuserve.com GD Gregoire Debaiseux GE Gary Pearson GK Golan Klinger GP George Page GR Glen R. Perye III macross@rust.net GV Gerben van Vlimmeren vlimmere@simplex.nl GY Gil Y. Parrish 63430.1546@compuserve.com HR Harold Ross hross@accutrade.com HS Horst Schulte-Schrepping IC Irv Cobb irv_cobb@radiks.net IM Ian MacGowan ev90028@dial.pipex.com IN Thomas 'innot' Holland JA Joerg Amhofer jamhofer@sbox.tu-graz.ac.at JB Jim Brain j.brain@ieee.org JC Joe Cassara joec@graveline.com JL Jim Malenczak jmlnczk@omni.epsb.net JM Jon Mines JO Jim Ronback jronback@direct.ca JP Jim Spindler commsys@syspac.com JR John Robinson R980007@tees.ac.uk JS Jeff Shropshire jshr@ix.netcom.com JT Joe Tiziano JV Jack Vanderwhite ceejack@crl.com KK Ken Kopin KO Kevin Ottum izombie@netins.net LA Larry Anderson LI Lincard lincard@itsmac.waikato.ac.nz LJ L Jones jones29@delphi.com MB Martijn van Buul martijnb@stack.nl ME Miika Seppanen smaug@iwn.fi MH Michael Herz MI Marco Sicco cshare@ix.netcom.com MJ Marc-Jano Knopp mjk@c64.org MK Marcel van Kervinck MM Marko Makela Marko.Makela@hut.fi MN Michael King mhking@worldnet.att.net MP Michael Parson MS Myles Skinner NP Nhat-Veit Phi PA Patrick Mattauch ay189@lafn.org PB Peter Bartlett 106047.3262@compuserve.com PE Pat Benner rufus@apexcorp.com PK Peter Kittel PL Pascal Lefrancois eat@worldnet.net PM P. Moulin zorg@ctid.hp3c.fr PO Peter Soukup PS Paul Siu PZ Philip Zembrod RB Richard Briggs rgb@achilles.net RC Rico elmer_fudd@voerde.globvill.de RH Richard Hable RI Rich White rwhite2@prolog.net RJ R. Jaycocks RL Rob vd Luur luur@pi.net RM Ronald A. Mayne aardvark@chesco.com RN RIchard Cini 70153.3367@compuserve.com RS Ronald Snyder RW Randy Winchester SA Simon Lambourn simonlam@cogs.sussex.ac.uk SD Shawn Dessaigne pierrot@jersey.net SF Sean Fox mailcall@kiva.net SK Stephan Kleinert lemon@gromit.inka.de SL Scott McLauchlan scott@softserver@canberra.edu.au SM Sander van Malssen SL Simon Laule TE Thomas Hechelhammer 119833920002-0001@t-online.de TG Tom Griner TEG@vicor.com TH Tapio Olavi Heikkinen TL Thomas Lampart TM Tony McKimm TA Todd Mason BMW.M3er@sleepless.acm.uiuc.edu VM Ville Muikkula vmuikku@yrttis.ratol.fi WA Wolfram Sauerteig wsauerte@ac.hape.de wolfram_sauerteig@hippo.fiod.de WS Ward Shrake wardshrake@aol.com WW WrongWay wrongway@eagle.ais.net WZ William Zwicky w-zwicky@cecer.army.mil YC Yvette Cantrell ===========================End of Canonical List============================== ========================================================================= @(#)surf: Hack Surfing For those who can access that great expanse of area called the World Wide Web, here are some new places to visit that are of interest to the Commodore community. In early 1994, when the US Commodore WWW Site started, the number of sites online that catered to Commodore numbered in the 10's. Now, the number is in the 100's. What a change. If you know of a site that is not listed here, please feel free to send it to the magazine. The following links have been gleaned from those recently changed or added to _CaBooM! - Your One Stop Commodore Links Site_. (http://www.jbrain.com/caboom/). Due to the large number of sites in the list this time, we're simply printing out the information on each site. The information comes directly from the entry in CaBooM!, and no attempt has been made to correct grammar or spelling. You can review them for yourself. @(A): Web Sites * The Trading Post URL: http://www1e.btwebworld.com/tradingpost/ Parts include compatible and replacement data recorders, power supplies, manuals and leads. * Information on CommNet URL: http://www.infinet.com/~mbendure/commnet This page describes the theory and history behind CommNet. * Linus c64 Page URL: http://hem2.passagen.se/c64linus View screen shots of and download my personal favourite games for the c64. Also a sid section, Greve Graphics, Music Shop, Art Studio and more. Updated at least once a week! Now with lots of more games! * Creater Omaha Commodore User's Group (GOCUG) URL: http://www.jbrain.com/gocug/index.phtml GOCUG serves the Omaha, Nebraska and nearby communities. A monthly newsletter is published, and we hold monthly meetings at 900 N 90st Street in Omaha. * Terry's Home Page URL: http://members.tripod.com/~tmaynor/index.html Commodore Help * SWRAP User Group Home Page URL: http://members.aol.com/RGHarris/swrap.html SWRAP (South West Regional Assoc. of Programmers) User Group, Inc., is a non-profit incorporated Commodore 64 & 128 user group, located in Chicago, Illinois. Check out our Home Page for information concerning meeting dates and times, and membership costs & benefits. Randy Harris, President * 5C Users Group URL: http://www.personal.psu.edu/staff/t/s/tss109 Commodore User help in Central Pennsylvania. Updated frequently!! * Why the CBM is STILL the Best Available Home Computer URL: http://www.unc.edu/~echernof/cbm/best.html This site offers the reasons Eric Chernoff still uses his Commodore system. * C-Net 64 DS2 WWW Site URL: http://www.infinet.com/~mbendure/cnet/ Information about the DS2 variant of the C-Net 64 BBS software * Bone's World of C64 URL: http://www.geocities.com/SiliconValley/Campus/8814/index.htm My site has the latest emulators and some games to play on those emulators. * PETindex URL: http://www.tu-chemnitz.de/~fachat/8bit/petindex/petindex.html PET hardware information gathered during the development of the VICE PET emulator, with links to other pages. * Special Reserve: Retro Corner Index URL: http://special.reserve.co.uk/www/public/retro/retroindex.html Special Reserve, the biggest computer games club in the world, present this look back at yesteryear. * ACTIVE InterNet HQ URL: http://jota.sm.luth.se/~d95-pen/ * Commodore GEOS File List URL: http://www.pernet.net/~james1/cbm_geos/ A Complete listing of all Commercial - Shareware - Freeware files for GEOS that have been available on the various online services and the Internet. * Russell's Homepage URL: http://www.tsm.com.au/Russell/homepage.htm Commodore 64/128 files, Transfering files to and fro from PC and C64/128 Packet Radio. * Eyeth Software URL: http://ubmail.ubalt.edu/~telliott/phantasm.html Showcases one program called Phantasm & Fantasy Construction Set. While still in beta stage, it is a program that allows the user to design a 3-D dungeon similar to those found in the Bard's Tale series or the Gold Box series made in collaboration by SSI/TSR. Screenshots and a demo is included. * Forces Of Evil URL: http://www.cl.ais.net/wrongway/ * Light URL: http://www.hh.se/stud/d94fa/light/light2.html (Sweden) PAL group * Daniel's C64 Nostalgica URL: http://www.algonet.se/~daba/c64 Demos from the groups I've been a member of during the good old C64 days. Some screen shots. You will find demos from: Unit Five (U5), The Vicious Circle and Alf 1853 among others! * The Commodore VIC-20 URL: http://php.indiana.edu/~rmelick/ A lot of interesting material about the VIC-20 * Greg and Dave's C64 Web Site URL: http://www.ozemail.com.au/~gvincent A web site that immortalizes the C=LXIV's ability to withstand the test of time and live on in our hearts and our emulators! * IHC Amiga Computers & Squeaky Sam's Internet Flea Market URL: http://www.provide.net/~ihc We buy and sell used computers and offer support to the owners of "orphan systems." Our business is totally internet, and run on Commodore and Amiga Computers * The Inner Circle URL: http://ram.ramlink.net/~icebbs Inner Circle BBS Homepage Online. Info about Inner Circle, 4 sale items, and more. Warning, Graphically intensive. If you just want 4 sale add /4sale.html to the url * The Digital-Talk HomePage (C64!) URL: http://www.fb1.fhtw-berlin.de/people/s152551/guests/dt/ The Digital-Talk Magazine is the biggest C64 Disk Magazine in the German Language! Download your own Free Version from this Site! * Selcuk Ayguney's Page URL: http://www.geocities.com/SiliconValley/Heights/7074/emulc64.htm Commodore 64 link site. Also other computer related resources. * PADUA HomePage URL: http://www.padua.org/ * PADUA FTP-Site URL: ftp://ftp.padua.org/pub/c64/ The PADUA-FTP-Site * CEBUG - Commodore East Brunswick Users Group URL: http://www.castle.net/~cebug/ New Jersey based Commodore 64 & 128 User Group in existence since 1983. The site has several sample newsletters, selected articles from prior newsletters, Interactive Marketplace, links to other Commodore related sites, and other information. Site designed to look good on both Lynx (text browser) and graphical browsers. We have several types of membership including Family (local), Newsletter (out of town), and/or Disk of the Month (DOM). * Commodore Club Danmark URL: http://www.danbbs.dk/~c64cdk Come an join CCDK's mailingliste and visit us on IRC. This web also includes games, emulators and much more. * Homepage of United GEOS Users Cologne (VGA), Germany URL: http://home.t-online.de/home/Holger.Heimes/vgapagee.htm Infos about the VGA Cologne Germany, History, Meetings, Members, BulletinBoardSystems * Antigrav Toolkit URL: http://web.mit.edu/randy/www/antigrav/antigrav.html This page includes articles written for GEOWORLD magazine, information about GEOS and PostScript, KeyDOS ROM and CP/M. There are also links to ftp sites which have the software listed in the articles (this provider does not support ftp). * Triangle Online! URL: http://www.pip.dknet.dk/%7Epip781/triangle/ Journey back to the golden days of the C64 scene. Grab copies of games and programs you thought were lost forever, see The Demo that never was!, see what others had to say - and add your own opinion, discover what the Triangle members are doing today, look at photos and screenshots, study the extensive amount of background material: group history, member profiles, interviews, articles, and more... The most comprehensive online guide to a single C64 group. * JSP Customer Service Center URL: http://www.netcom.com/~jspusa/ Complete hardware, software, ICs, parts and complete computer units, new and refurbished. C64/128, AMIGA everything and much more. Great site! * Project 64 URL: http://ourworld.compuserve.com/homepages/pcgeek/proj64.htm Electronic Texts of many Commodore user's manuals and information resources. * Bjoern's Homepage URL: http://home.t-online.de/home/dirk.lueders/ Some things about C64... StarTrek... and my life. * COMMODORE 64 ZONE 0 URL: http://www.mygale.org/03/zone0/commodore64/c64.html COMMODORE 64 ZONE 0 is a new site dedicated to the C64... comme here and see, you will find what you want for sure... * Nitros Developments URL: http://home2.swipnet.se/~w-23231/Nitros/ Nitros are a demo group that has been around for the latest 2 years,we are 6 members,realeasing a magazine (Emphatic),4 issues out so far,we have also made 2 bigger demos so far. We have members in the following contries: Australia,Turkiye,Sweden,Norway * Comp.binaries.cbm Home Page URL: http://www.bayview.com/cbm-binaries/ Home Page for the comp.binaries.cbm moderated Usenet newsgroup. * Commodore Service Manuals URL: http://cws86.kyamk.fi/Computers/Commodore/ Service Manuals for Commodore equipment, including C64, C1540/1541 and C1571. Includes also some scanned articles from COMPUTE!'s Gazette and Ahoy. * Commodore 64 BASICs URL: http://www.geocities.com/SiliconValley/Pines/4935 Everyone one of us(just about) had a c64 computer. I always liked to program silly games in BASIC. In fact, I still do. Come check it out. * History of Calculators URL: http://www.geocities.com/SiliconValley/park/7227 Articles, timeline, photos, and stories relating to early electronic calculators (1960-1980). Includes free calculator related classified ad section. * OS/A65 URL: http://www.tu-chemnitz.de/~fachat/8bit/osa/index.html A new operating system for C64 and other (homebuilt) 6502 computers. A homebrew 6502 computer is also on this site. (The CS/A 'Gecko' computer) * The Feneric Home Page URL: http://www.ccs.neu.edu/home/feneric/index.html * The Living Daylights URL: http://members.aol.com/tldcrew/ Hompage of an old just-for-fun-crew with some SID´s to download/listen online! * BBS's that Support C= Users URL: http://videocam.net.au/~gaelyne/favbbs.html An interactive list of BBS's that support Commodore users. Readers are encouraged to add their favourite C= or other platform BBS. * Linus VIC-20 Games Page URL: http://members.xoom.com/vic20 View screen shots of and download lots of VIC-20 games. Read interviews with modern VIC-20 personalities. Cartridge games, tape games, constant updates. Now 158 games with screen shots and descriptions! * Timo Raita's C=homepage URL: http://www.iki.fi/vic/cbm/ C=user from Finland. This site contains demos, music, photos etc... Check out! * Bacchus of FairLight's homepage URL: http://www.fairlight.to Bacchus/FairLight's page, best known for the list of c64 related tools on PC(MS-DOS) and Amiga. To some extent also for Mac and Unix/Linux. * Crystal Software Homepage URL: http://members.aol.com/commodor64/Cse/Crystal.htm The Crstal Software UK site - New software available * Computer Scene site URL: http://members.aol.com/commodor64/C64Scene/Commodore.htm The Computer Scene Homepage, information on 'Zine 64, Commodore Tribune, PD, Software etc... * CCS64 Home Page URL: http://www.fatal-design.com/ccs64/ Official home page for the excellent CCS64 emulator (for PC/Unix). Also mirrored in the UK. * The Almighty C64 URL: http://www.cs.uiowa.edu/~femook/c64.html A page with a wide variety of c64 related material from games to emulators to music and links to other c64 pages. * Commodore 264 Homepage URL: http://www.crossconnect.u-net.com/264HOME.HTML Commodore 264 series 8-bitter home pageC= 16, Plus/4, 116, 264, 364 etc.Links to other 264 pages & New +4 Homepage. - Der Regmeister! Also J-Net C64 - Amiga Network - No CMDhard drive required - Use amiga!200 1541 blocks in 8 seconds! (1541=2mins) * C64 Tolkien Games URL: http://www.lysator.liu.se/tolkien-games/c64.html Descriptions of all known games based on the fantasy world invented by J.R.R. Tolkien, including Melbourne House's The Hobbit among others * Snowgum URL: http://snowgum.agfor.unimelb.edu.au Russell Alpheys personal site for 64NET, an interface used to make your PC look like a C64 drive. * 8 bits are enough URL: http://hem.passagen.se/harlekin This site contains information on my current projects, such as PiffyDOS (a modded JiffyDOS), a brilliant game called "Linking Leroy" and a REU-expansion with extra RAM and ROM! This site will soon be the homepage of my HTML viewer... * Bullwnkl's Arcade Classic C-64 Fan Page URL: http://home.ptd.net/~faethor/c64class/c64class.htm A commodore 64 fan page dedicated to all the arcade classic games that appeared on the c-64. * Plus 4 homepage URL: http://www.scotch.demon.co.uk Commodore Plus/4 homepage. Has the only PC emulator of the Plus/4. Get THE latest version here and ONLY here. * FUNET GEOS archives URL: ftp://ftp.funet.fi/pub/cbm/geos Various utility files for Geos archived in Finland * Irv Cobb's Geos Files URL: http://www.radiks.net/irv_cobb/geos/geos2.html Assorted utility files and help information for Geos. Newly added games and fonts, with more to come. * The C64 Fanatics Web Page URL: http://huizen.dds.nl/~skynetw This is a real C64 dedicated web site made by the Sky Networks crew. This site offers monthly updated C64 software like games and utilities. The C64FWP contains fresh information as every month updated news and special projects. You can find help on topics as X1541 transferring and amaze your self with articles like how to connect a joypad to a C64 and etc. Read interesting articles, find interesting links and e-mail addresses and much more. Yep, It’s the original Sky Networks, The C64 Fanatics Web Page. * GEOS Files on the 'Net URL: http://people.delphi.com/timphelps/ftp/gfiles.html This site will let you directly download almost any file on the Internet. The links of the files are categorized in seperate fields (such as fonts). Updated more often than some other GEOS programs lists. * Commodore Connection URL: http://207.100.227.73/MarketPlace/Commodore/index.htm New Commodore Site. Support for Commodore, Message Bases, File Downloads and much more * Bear Technologies Computer Sales,Software,Services URL: http://members.aol.com/beartec/beartec.html We have been supporting Commodore since 1983 We do repairs on all makes of Commodore Equipment carry Software & Hardware Plenty of parts in stock * GeoClub URL: http://videocam.net.au/geoclub/ GEOClub UK/OZ home page. Information about the group and contact information * Browser Home Page URL: http://videocam.net.au/browser/index.html Browser is a C128 80 column disk directory browser. Displays CBM and CMD directories including subdirectories and partitions. Run, Scratch or Rename files, Read text files, View BASIC, ANSI and QWK messages.dat files. * Get Started Using the C64/128 on the Internet URL: http://videocam.net.au/~gaelyne/getstarted.html A friendly Q&A format WWW page explaining basics of cross platform computing and accessing the Internet with a C= computer. * The Internet for Commodore Users URL: http://videocam.net.au/tifcu/index.html The Internet for Commodore Users is a book by Gaelyne R. Gasson and is the only C= Internet reference guide in this format. The site allows online ordering. * Type In Term Program URL: http://videocam.net.au/~gaelyne/term.html A short type-in term program that allows those without a Commodore term program to transfer files from another computer. Suggested use: to transfer a full scale terminal program such as Novaterm 9.5 or Desterm to the Commodore. * VideoCamFTP site URL: ftp://videocam.net.au/cbm Gaelyne Gasson's main FTP site in Australia. Mainly telecommunications and offline mail reading utilities. * Gaelyne's Microwave URL: http://videocam.net.au/~gaelyne/links.html A sorted list of CBM and other links on the World Wide Web. * IEEE488 site URL: http://www.tu-chemnitz.de/~fachat/8bit/hardware/ieee488/index.html 3 IEEE488 interface boards, with schematics are presented: one for the C64 (original CBM), one for the VC1541 (orig. 64er magazin) and one for the Atari ST (by me). Software is included. * 80 Column Games for your C=128 URL: http://www.io.com/~gah/c128 A few games for the C=128 in 80-column mode. Dominoes, Landslide, Name Flash, Stock Broker, Blackjack, High Rollers, and 1000 Miles (Mille Bornes). These come with a bootable menu and full documentation and compressed into a single 57k C= .arc file. I will also include (eventually ;) other shareware programs written by other authors for your c-128. * Peter's Commodore page URL: http://nafmo.home.ml.org/8bitar/ Peter's Commodore page with SYS PD/C64,C128 PD directory available online. * International Project 64 URL: http://ip64.home.ml.org/ International Project 64 is a sister project of Project 64, also aimed at saving old Commodore manuals and documents for the future. We handle the non-English stuff. Features a multilingual user interface, currently in English, Swedish and German. * The Fridge URL: http://stratus.esam.nwu.edu/~judd/fridge/ The Fridge is a large collection of 6502 source code. There are also programming tricks and tips, binaries, C utility programs, other programming related links. Finally, it contains a complete article index into both C=Hacking and disC=overy. * Commodore Users of Edmonton URL: http://www.freenet.edmonton.ab.ca/cue/ The on-line home of the Commodore Users of Edmonton User Group.This club, active since August 1983, is for users of all Commodore Computers (excluding the PC's).We have an extensive disk and print library and lotsof knowledgeable, long time, users. * Centsible Software URL: http://home.sprynet.com/sprynet/cents/ We buy, sell and trade Commodore 64, 128 Amiga and IBM used and new software. We have been in business for 15 years. Over 3000 titles in stock for Commodore computers. * AEG Soft HomePage URL: http://www.geocities.com/SiliconValley/Heights/5275/ The AEG Soft site. AEG Soft have developed and cracked programs for the immortal Commodore 64 since 1983!! * CBM Projects of Ilker URL: http://newton.physics.metu.edu.tr/~filker/cbm.html This site contains some technical documentations about mine software and hardware projects.You can find original and new lunix applications here. I also have plans to write code for other OSs (ace & os/a65).As for the hardware section, you can find information about hooking AT-keyboard and mouse to the C64, as well as various schematics for rs232 interfaces. * Neefis C64-Web-Page URL: http://eeiwzb.et.tu-dresden.de/le/neef/c64.htm This is a german C64-Web-Site * The Raven's Nest BBS URL: http://home1.gte.net/nestbbs/homepage.htm The Raven's Nest BBS, Is a Commodore 64 BBS using the softwae C-NET DS2 v2.5 and running Comm-net, networking software Features: Message Bases, Files For All Computer Platforms (Shareware) & (Demos) ANSI Support for all of other computer platform friends, using a CMD 170 meg HD 1084 monitor jiffyDOS 2 1581 drives & 1 1541 drive a 4 meg RAMlink and soon the SUPER64cpu * Antimon homepage URL: http://home.sn.no/~zaphod Antimon homepage... Home of the lunetics in Antimon.. Antimon is a over 10 years old demo group from Norway and Finland * Azrael's sUpErDeFoRmEd Commodore 64/128 Page URL: http://www.afn.org/~afn04314/c64.htm Bunch of links plus a few pictures to look at and files to download. Will be growing soon. * Sandinge's Import & Data URL: http://www.algonet.se/~sandinge/ The only place you need if your looking for products for the C-64/128. Located in Sweden. * FairLight - When Dreams Come True... URL: http://www.fairlight.org FairLight - When Dreams Come True... The legend's site on the Internet with C64 and Amiga scene information and related materials. All about one of the oldest groups still around... * The Electric Mayhem - Laner's Commodore 64 Website URL: http://ltd.simplenet.com/c64 Laner's Commodore 64 Page - Home of the C64 "Most Wanted List", where you can add requests, and download the latest "hard-to-find" games. Also, links to various emulators and game-related C64 sites * Oasis Commodore URL: http://oasis.home.pipeline.com/ A repository for Commodore information and documentation. * GEOS Publication URL: http://www.ocslink.com/~andrews/geospub.htm This is the home page for GEOS Publication. A magazine published monthly dedicated to Comodore GEOS. Free sample issue available. * LONG LIVE THE COMMODORE 64!!! URL: http://www.geocities.com/siliconvalley/vista/1852 Long Live The Commodore 64!! This is is pretty much complete, but i am gonna add programing stuff and alot more very soon. * The C64 Games Archive URL: http://www.sci.fi/~pekkiz * Explore the Past - Computer Pics from the 80's URL: http://www.geocities.com/SiliconValley/Vista/2717/index.html A pictorial dedicated to computers of the 1980's. Mostly Commodore-related but a few PC-related pics as well. * The Ol' 64 URL: http://members.aol.com/QuoadHoc/commodore.html A small site dedicated to the memory of the commodore 64. You can vote for your favorite games. * The PET Page URL: http://www.goldrush.com/~foxnhare/PET.html Description and pictures of the Commodore PETs and other interesting information Relating to the PET and Commodore 8-bit line. * the Commodore P-500 URL: http://www.goldrush.com/~foxnhare/p500.html Somewhere between the B-128 and the Commodore 64 there was the P-500. * the Silicon Realms BBS URL: http://www.goldrush.com/~foxnhare/slrinfo.html The Silicon Realms BBS supporting the Commodore 8-bit community since 1987. * PLUSH@web URL: http://puppy.informatik.fh-schmalkalden.de/~truemper/ this is the official homepage of PLUSH. a little and lazy democrew from germany. u can download all stuff from us, watch some pictutes or simply have some fun. * The European C=64 Emulation Game Archive (mirror) URL: http://www.poli.studenti.to.it/ftp/pub/c64/games A full archive of old c=64 games in emulator format. * Carl Reilly's Commodore Page URL: http://142.3.102.3/ A page for my hobby: Commodore 8-bit PC's (Mainly C128). My EPROM Editing software is available online for the C128 ;) Best viewed with IBrowse for the Amiga or Internet Explorer for the IBuM. Contains Frames. 800 x 600 Display also recommended. * Mirage C-64 Software URL: http://www.webcom.com/jawknee/Mirage/C64/ This site contains a pair of utilities useful to owners of the Ensoniq Mirage as well as a general MIDI display tool. * Commodore Country URL: http://www.fastlane.net/~ccountry Hardware Sales / Software Sales Flat-Rate Repairs start at $35.00. 817/295-7658 landline / 817/447-6974 faxLarge Selection of both NEW & USED w/ Warranty.6 Years of C64/C128 Service as advertised in Commodore World. * IDE64 Project URL: http://sgi.felk.cvut.cz/~vorlicek/c64ide.html Cartridge interface for connection IDE harddisk to Commodore 64 computer * Network by Comic Pirates URL: http://www.scene-central.com The official Comic Pirates Online Mag for Acorn,Amiga,Atari,C64 and PC Sceners * Antique Noises URL: http://www.geocities.com/SunsetStrip/Palms/7271/index.html Midi Conversions of classic Game Tunes. Enjoy fresh new Versions of your old favourites... * The Epyx / Summergames Homepage URL: http://www.geocities.com/SiliconValley/Park/3680/c64.html What happened to Epyx, the creators of Summer Games? History. Interview with Stephen H. Landrum, lead programmer. Glossary * The Renegade Programming Group Homepage URL: http://www.earthcom.net/~pegasus/rpg/ The home page of the Renegade Programming Group, a Commodore 64/128 demo production team. You can download demos, see screen shots, hear Pegasus' music, link like crazy and more! * Revenge/Omni Demo Distribution Site URL: http://flash.lakeheadu.ca/~jgvotour The homepage of Da Bonestripper/Omni/Ex-Revenge with downloadable Revenge and Omni demos * Bo's GEOS Web Page URL: http://www.prismnet.com/~bo/geos/index.html GEOS Page containing tons of pictures and application information. Also has developer page and projects page. * TomSoft Software Development URL: http://home1.gte.net/tomp This site is dedicated to programming. Focus is bent toward the CBM line and kernal applications more specifically. * Tweder's C-64 Super Site!! URL: http://members.aol.com/tweder/c64.html This is a very cool site that includes Commodore 64 emulators for Macintosh & IBM/PC compatibles. Also has games andother stuff!! * Martin Pugh's C64 Games Index page URL: http://www.geocities.com/SiliconValley/Vista/3468/c64index.htm Contains hypertext links to most of the games contained on Arnold and 'The Digtal Dungeon' including the Rik and Blast archives! * Stringfellowhawke 64 Archives URL: http://home.clara.net/majic/ The Stringfellow Archive site, has links to the best 64 information and games on the internet. It also has downloadable games and a special adventure section. Special music and demo packs are sometimes uploaded and the site also has an Amiga links page. * C64 Picture Gallery URL: http://www.geocities.com/SoHo/Studios/6463/ Page contains some of the best c64 pictures released in Collections, Demos, or in Party competitions. * Commodore 64 - Den ultimata C64-sidan ;-) . URL: http://hem1.passagen.se/matslev/ Välkommen till ännu en hyllningssida till C64. Skillnaden mellan denna och andra liknande sidor är (hoppas jag) kvalitet och inte kvantitet. Jag har här försökt lägga upp länkar jag själv har nytta av. Allt från musik till emulatorer. * Gaelyne's Home Suite Home URL: http://videocam.net.au/~gaelyne/ Gaelyne's home page offering support for her book 'The Internet for Commodore C64/128 Users'. New Users Survival Guide, Get Started on the Net, and more. * Rod Gasson's QWKRR128 Offline Mail Reader URL: http://videocam.net.au/qwkrr/index.html Offline Mail Reader for QWK format mail. Requires 80 column monitor and access to QWK format mail (via BBS or using UQWK). Shareware. * Cheaters Heaven URL: http://users.cybercity.dk/~ccc6453/ The Only Bulletin Board, You´ll ever need 4 ya C=64 if you live in DK or dont mind long distance calls! * M64 home page URL: http://www.mdstud.chalmers.se/~md6cbm/AnyWare/M64/ M64 will turn your C64 into a synthesizer module. All you need is a MIDI interface. * C64 Game Guide URL: http://www.ostrabo.uddevalla.se/tekniker/sh/c64/ A huge site where you can get info on the games you played on the C64. It also contains screenshots, sid-tunes, info on programmers, musicians, gfxartists and softwarehouses. * Ultima VI page URL: http://pcwww.uibk.ac.at/s06user/csaa2031/ultima6.ssi This page should answer questions like how do I save, does Ultima VI run with C64s, playing on a real C64, copyprotection, links to other Ultima VI related sites, documentations, maps. * Role homepage URL: http://www.geocities.com/SunsetStrip/Towers/6715/rolepage.htm The rolepage for all your info about role..latest news, memberslist, history, rock & role online and a lot more! * le Geek URL: http://www.ijmc.com/ben/geek.html le Geek is about people's favorite games and the emulator scene. As the c64 is my favorite computer, it has its own section, with a SID page, keyboard gfx page, game descriptions, emulator ratings, links, and a game I wrote in BASIC available for download. What are your favorite games? * Operator Headgap Commodore Web BBS URL: http://www.headgap.com/c=ring.spml Operator Headgap BBS online 12 years, support for C64-128. Dialup, Telnet or Browser. Homepage is http://www.headgap.com/c=ring.spml * Classic Games & Commodore 64 URL: http://freespace.virgin.net/laurence.h/classic.htm 4 games packs of 10 or so games on here as is the rather groovy CCS 64 emulator. * CHLB'S Home Page URL: http://homepage.usr.com/c/camaron Commodore Helpers of Long Beach (CHLB) user group is dedicated to supporting C-128, C-64, VIC20, Plus/4, C-16, C-116 and 8-bit Commodore emulation users. We are two user groups in one. The first a reqular user group for members to attend. The second is through the mail with publication and disk. * Commodore 64 Art Gallery URL: http://www.geocities.com/SoHo/8811/c64art.htm Over a hundred pictures from many artists and games. Submissions wanted. Part of "G.S.Reis' Multiverse". * PowerHouse Productions URL: http://www.geocities.com/SiliconValley/Vista/7347/ The PowerHouse BBS on the Web * ARRGH! - The Retro Computer and Video Games Home URL: http://www.arrgh.demon.co.uk/ Information on classic computers, consoles and games. * Entropy URL: http://www.entropy64.demon.co.uk/ Official home page of the demo group Entropy. Light on graphics, long on downloads. New d/ls as often as possible. X-asm for PC. etc etc etc... * Maurice Randall Talks GEOS URL: http://people.delphi.com/arca93/ A site devoted primarily to Commodore GEOS and operated by Maurice Randall. New tips and ideas each week for users and programmers. * C-Net BBS Software Support Center URL: http://www.ij.net/rmscomp/CNET/index.html C-Net BBS Software Support Center Site. * Legacy of the Ancients URL: http://www.inetnow.net/~joellogan/legacyparent.html Dedicated to preserving Legacy of the Ancients for the C64 and Apple. * VIC-20 Info page URL: http://members.aol.com/wshrake/index.htm Primarily a text archive of Vic-20 info, but with other things being added. The site contains a "cartridge rarity and gameplay list," reviews of 180 Vic20 programs on cartridge, a list of 455 tape programs, technical materials including archiving software, and more. * BugSoft Commodore Software URL: http://www.bugsoftware.com The official site of BugSoft, Creators of Centipede BBS for the C128 and v128 BBS software. Some FREE programs available for download also! * Webnav C64 Site URL: http://www.jsis.net/c64/ Deutsche C64 Homepage von Felix Winter! Hier gibt es Links zu Spielen, Demos, Mags, Tools, Emulatoren, Homepages usw. Top! * Ruuds Commodore Page URL: http://www.worldaccess.nl/~rbaltiss/cbm.htm Site dedicated to technical information on the older Commodores. Including several hardware and software projects. * Noesis Creation URL: http://www.angelfire.com/id/noesis/ Noesis Creation: home of Archaic Computer, dieHard back issues, and commodore & Atari support * CD-64 URL: http://www.geocities.com/TimesSquare/Lair/4664/index.htm CD-64 is the project to make the best CD of C64 games. Also the site to get HD CATALOG for CMD Hard Drives, and discuss games. * My C64 page URL: http://www.beotel.yu/~milos Site in Serbian about me & C64, some links, pokes (more to come in future) and my story how I got C64. Moja prezentacija posvecena C64 pokice, linkovi, i malo pricam pricu :) * Homepage of the Amiga-Commodore User's Group #0447 URL: http://www.pacifier.com/~alberonn/acug.html This is the Homepage of the Amig-Commodore User's Group (CBM#0447) in Astoria, Oregon USA. We are a small group who do our best to help out "new" users to the C64/128 and Amiga platforms. * Zukkans Place URL: http://home4.swipnet.se/~w-47749 Euzkera's crazy and different webpage. Will make a touch to the scene different from the others. * Depressed Node URL: http://ourworld.compuserve.com/homepages/depressednode/ Depressed Node is a BBS located in the Dallas, TX area. It has Commodore 64 emulation programs and files and is run on powerbbs a windows based system. * Files on the Internet URL: http://people.delphi.com/timphelps/ftp/files.html Lists of the many files that are on the Internet. * Commodore FTP Search URL: http://www.pulse.no/~mepk/cfs.html If you want to find a certain file on the FTP sites you often have to search many subdirectories of many of these sites until you've found it. Searching will be much faster with Commodore FTP Search. CFS uses a database containing all filenames of these sites. After entering a search string, CFS will search this database and the matching filenames will be listed. * COMP.SYS.CBM FTP Sites List URL: http://people.delphi.com/timphelps/cmdr/ftpsites.html HTML/hyperlinked version of the comp.sys.cbm ftp sites list. * Commodore 65 REAL Information! URL: http://www.takeabyte.com/outzider/c65/index.html Want the real scoop on the Commodore 65? Technical Info? History? ROMs? Pictures? Links? Welcome home! * Commodore FAQ URL: http://people.delphi.com/timphelps/faq/faqmain.html An html/hypertext version of the Commodore faq that appears in the newsgroup. * Digital Excess homegrounds URL: http://www.do.netsurf.de/~thomas.koncina homepage of the german game developing group Digital Excess * home of the hitmen URL: http://www.goerres.de/~hitmen hitmen internet hq featuring board graphics gallery, a huge sorted and almost constantly maintained link page plus info on the group and it's members itself * hitnav64 URL: http://www.goerres.de/~hitmen/hitnav64.htm probably the best maintained commodore 64 links index on the web * Terminator's Commodore 64 Dungeon URL: http://www.mergetel.com/~blitz/c64main.html Commodore 64 still rules! Check out my DownloadZone and the awesome pictures. * Magic Carpet (TheCommodore Ride) URL: http://www.geocities.com/SiliconValley/Peaks/7893 Magic Carpet has tricks & tips for your 128/64, a growing list of Commodore links. Commodore software and hardware for sale, Software that I have written and/or modified to be faster or easier to use. * Commodore 64 BASIC games URL: http://www.geocities.com/SiliconValley/Pines/4935 Thanks to a new friend out here, my old stuff from the last 10 years will be here soon... Keep your eyes open... * The Unofficial CP/M WEB SITE URL: http://cdl.uta.edu/cpm/ This site is authorized by Caldera, Inc. to distribute vintage software produced by Digital Research, Inc., INCLUDING THE ORIGINAL SOURCE CODE. This site will be a clearinghouse for all CP/M software. That's the good news. Now the bad news. What original source you will find on this site is all there is! The rest has been lost to the ages for one reason or another. This site is user supported. That means that much of the software posted here was donated by various individuals. The postings on this site are not yet complete. It is the goal of this site to be able to post every operating system, compiler, and utility that Digital Research produced for the 8080, Z80, Z8000, and 68000 processors (assuming we can find it). * Commodore 64 BASICs URL: http://www.geocities.com/SiliconValley/Pines/4935 I have created games for the commodore 64 in BASIC. Come see my small library so far... * The NullVoid Triangle URL: http://leden.tref.nl/hogewim/ This site has, or will have: Games, Links to emulators and other sites, Animated Gifs, Sids and tips and cheats. * SIGNALS URL: http://home.t-online.de/home/haegar-synergy/signals.htm The Siganls is a DISK Mag for the C16/Plus4 in english language, only some parts and letters are in german. You can find there the latest Scene-News from all over the world, infos about Plus4 GEOS, SUPERBASE and other programms, the newst Stuff, a lot of tips and tricks for Basic and Assembler and a chart list for the best Demo, Tool, Game, Coder, GFX-Man and Group. * Obsolete Computer Museum (Plus/4) URL: http://www.ncsc.dni.us/fun/user/tcc/cmuseum/plus4.htm Failed Commodore experiment. Actually, a very nice 8-bit. 64K RAM. Nice graphics ability. Pixels could be any of 128 colors (16 colors at 8 intensity levels). Four software programs included on the ROMs. None of them were worth much. (The word processor could only handle 99 lines of text.) This computer was sold as a successor to the C64. There was another computer, the Commodore C16, which was a successor to the VIC 20. I have also heard of one called the C116, which apparently was a C16 with a membrane keyboard, like a Sinclair. * Commodore Corner URL: http://pwp.starnetinc.com/b01141q/cmadr.htm * * University of Washington Commodore Users Group URL: http://weber.u.washington.edu/~gibbsjj/uwccug.html University of Washington Commodore Computer Users group, Seattle WA * The Bible and the Commodore 64 URL: http://members.tripod.com/~biblecom/index.html Bible programs and Public Domain disks for the Commodore 64 * The Official C=64 Unfinished Program Archive URL: http://www.geocities.com/ResearchTriangle/Lab/1767 Post your unfinished source, or download somebody else's for a good reference or inspiration! We need submissions! * PAUL J. STRELIOFF'S HOME PAGE URL: http://www.winnipeg.freenet.mb.ca/~pstrelio/ Paul J. Strelioff's Personal Home Page is reached from Blue Sky Community Networks (FREENET) WINNIPEG, MB CANADA . . . Linked with CBM sites and Travel and :-) Humour! * C64S Europe Information URL: http://www.phs-edv.de/c64s Information about C64S, mailing list, FAQ * MJK's Commodore 64 & LCD Page URL: http://mjk.c64.org/ This site is specialized on Commodore hardware, tuning & repairs, and the Commodore Sceners' Address List (SAL) * The World of CNET 128 URL: http://ourworld.compuserve.com/homepages/cnet128/cnethome.htm * Full CBM Color Graphics Capabitly. * System files are provided but you may edit them and create others to customize the BBS they way you and your users like. * Looks great in ASCII and ANSI modes as well, supporting ALL Computer Types. * True 2400 Baud Speed. * Punter, Xmodem, Xmodem CRC, and Y-Modem Batch transfer protocols. * 1700 series RAM Expander , RamLink, & RamDrive capilitiy for instantaneous program file loading. * Flash Incorporated URL: http://home5.swipnet.se/~w-55678/flashinc The year is 1989 and the teenage demo culture is a few years old. At the moment, a coder is a real man if he knows everything about border timing, splits and DYSPs. A new talent is about to rise from a small Swedish town called Falköping. * The Beginner's Guide to C64 and VIC-20 Emulators URL: http://members.xoom.com/vic20/faq/index.html The Beginner's Guide to C64 and VIC-20 Emulators will help you with your emulator problems. It includes general advice, tips and tricks and information about files, file formats and other important things. NOW v.1.1! Now also in an HTML version! * Trantor's Almighty C64 Sight URL: http://www.ccgnv.net/Trantor/c64.html Welcome to the TRANTORnator's all mighty shrine to the greatest computer ever made! (and get some cool games too!) * Apocalypse C64 Homepage URL: http://www.nwnet.co.uk/mberry A new site full of C64 games, utilities and demos' for you to download. Also, you can ask me to upload any C64 program that you'd like! * Papillon Wells Vintage Computer Zone URL: http://www.geocities.com/SiliconValley/Horizon/1503/ A vintage computer appreciation site for the Commodore Commodore 128D, 128, 64, 64C, SX64, VIC 20, 116, 16, Plus/4. Information, files, articles, and a whole lot more in this sprawling web site. This site has a little of everything with frequent updates. * Icemans Commodore E-Store URL: http://ram.ramlink.net/~icebbs/4sale.html Easily accessable to non graphic browsers, Commodore Software and hardware. If you don't see it, ask. All prices ARE negotiable. :) * Return of Micro-Bytes URL: http://www.enteract.com/~hijinx/mb.htm Short one-pager on availability of Micro-Bytes magazine, and some nostalgia is waxed by the former editor. * Commodore 64, eine Legende lebt URL: http://rphc1.physik.uni-regensburg.de/~meb15717/c64.html Eine deutschsprachige WWW-Seite, die neben ein paar Links zu anderen Commodore 64 - Seiten im WWW auch eine umfangreiche Cheatsliste beinhaltet. Ausserdem ist auch eine Most-Wanted-Rubrik fuer Spieletips dabei! Macht mit, Leute... :-) * Anchors Away! HTML Tutorial URL: http://videocam.net.au/~gaelyne/anchors.html A How-to tutorial written by Gaelyne Gasson for Loadstar Letter #41. Describes how to create web pages, from the perspective of a C= user. * FCUG URL: http://videocam.net.au/fcug/index.html Fresno C= Users Group * TIFCU Mailing List URL: http://videocam.net.au/tifcu/mail_list/index.html TIFCU (The Internet for Commodore Users) Mailing List. Includes archives of the mail list messages, and the current FTP Sites List. The archives are searchable. * Commodore Knowledge Base URL: http://crosslink.ml.org/~spectre/ckb/ A document search engine allowing access to its library of multiple articles on repairing peripherals, technical data, how-to guides and more. * C= or nothing @ all URL: http://ourworld.compuserve.com/homepages/ericwschult this site is currently under construction.... i am moving to Genie.... this site is not going to be updated until i get moved in ;).... however the pages are being updated on my C= and should be ready by that time :).... in time all gifs on my site are coming from GEOS draw ;) * Paxtron Corporation Home Page URL: http://www.paxtron.com/ Paxtron repairs computers and sells replacement hardware. * Mr. X's CBM page URL: http://homepages.skylink.net./~mrx/cbm.html Text-only page with demo-scene links and a list of hardware the author owns. ========================================================================= @(#)basic: Hacking BASICs by R. T. Cunningham (wanderer_rtc@pipeline.com) @(A): Introducation In this article, I'd like to introduce you to some concepts. "Common RAM" is what I like to call the RAM that is safe and usable by both the 64 and 128 for either storage or short ML routines while BASIC is resident. "Common BASIC" is what I like to call the code that can operate equally well under either BASIC 2.0 or 7.0. "Common ML" is what I like to call ML that can be used by both the 64 and 128 without having to be relocated in memory. As you may have guessed, I prefer writing programs that work with the 128 in 64 mode, 128-40 column mode, and the 128-80 column mode. Obviously, the code would work for a true 64 as well. These modes are all available at power up. Although GEOS and CP/M (and some others) are operating systems designed for the 64 and 128, they must be installed before they can be used. Before getting into some actual techniques, let's examine common RAM. @(A): Common RAM Remember, this is the the common RAM that *I* consider to be both safe and usable when BASIC is resident. There is much more available when BASIC is switched out, but that's another story. There are some that would argue that I missed a few locations or that some of these locations are not really safe to use. I'll list them and you can be the judge. These are BASIC work areas that occupy different starting and ending locations, yet overlap in the locations listed: $0024 - $0030 (36-42) - 7 bytes $0050 - $0053 (80-83) - 4 bytes $0059 - $0060 (89-96) - 8 bytes These are good for temporary storage from within an ML program. I wouldn't recommend trying to use them from BASIC, the results are unpredictable. The rest of these locations are free and can be used from both BASIC and ML: $00fb - $00fe (251-254) - 4 bytes (zero page!) $03fd - $03ff (1021-1023) - 3 bytes $07e8 - $07f7 (2024-2039) - 16 bytes $dbe8 - $dbff (56296-56319) - 24 bytes More or less can be available depending upon the use of sprites, fonts, or bitmaps. For the purposes here, these are more than sufficient. @(A): Common BASIC The use of common BASIC eliminates multiple "if" statements (which increase the size of the BASIC program) and allows you to use the same code regardless of whether it's BASIC 2.0 or 7.0. Common BASIC isn't common until you determine whether you're running BASIC 2.0 or 7.0 (64 or 128 mode): m=abs(peek(65533)=255) Memory location 65533 is the high byte of the hardware reset vector. The 128 contains a 255 there, the 64 does not; therefore, m=0 translates to a 64 and m=1 translates to a 128. For some applications, we can take the code a step further: m=abs(peek(65533)=255)+abs(peek(215)=128) Location 215 contains the 40/80 flag for the 128. When used like this, the 64 will always return a 0. For the 128, a value of 0 would indicate 40 columns and a value of 128 indicates 80 columns. The total code would produce m=0 indicating a 64, m=1 indicating a 128 in 40 column mode, or m=2 indicating a 128 in 80 column mode. If you load in an ML program at the start of the BASIC, you can use some short code to perform the task. To use it you would have to sys(ad) and then peek(location). Here it is: ldx #$0000 ;assume mode as 64 lda #$fffd ;check high byte of hardware reset vector at 65533 cmp #$00ff ;compare with 255 bne chkend ;branch to end of routine if not equal to 255 inx ;increment x and assume mode as 128/40 lda #$00d7 ;check 40/80 flag beq chkend ;branch to end of routine if not equal to 0 inx ;increment x and assume mode as 128/80 chkend stx $03fd ;store mode number at 1021 (any free memory will do) rts Although not necessary for this article, let's examine three different ways to ensure the device number is 8 or higher: dv=peek(186):ifdv<8thendv=8 How about doing it without an "if"? Try this: dv=peek(186):dv=abs((dv<8)*8+(dv>7)*dv) In ML: lda $00ba ;check the device number at 186 cmp #$0008 ;compare it to device number 8 bpl devend ;branch to end of routine if equal or greater than 8 lda #$0008 ;if not equal or greater then make it 8 devend sta $03fe ;as well as 1022 (or any free memory location) rts Now that we know what mode we're in and have made sure the device number is a valid one, we can code the BASIC appropriately. We can also calculate variables: n=198+m*10 In this example, I set n to equal the memory location that corresponds to the number of characters in the keyboard buffer, 198 on the 64 and 208 on the 128. @(A): Common ML This is where anyone but an experienced ML programmer will have problems. Unless you code without any "incode" references at all, the code is not transportable. My thanks to Brett Tabke for explaining it to me. Before going any further, you have to realize that the "power up" start of BASIC starts at one location on the 64 and another on the 128. To make it even harder, the pointers are at two different memory locations, decimal 43 and 44 on the 64 and decimal 45 and 46 on the 128. For the 64, the values contained are 1 and 8 corresponding to 2049 on the 128, the values contained are 1 and 28 corresponding to 7169. The high bytes at 44/46 are also considered the page numbers. We can calculate the start of BASIC and the page number: s=43+m*2 ip=8+m*20 Since I'm going to be siting my ML behind the BASIC program, and saving it with the BASIC, it's important that the final product will be loaded where it was intended. I can code for this: ifpeek(s)<>1orpeek(s+1)<>ipthenpokes,1:pokes+1,ip:load"*",dv We check the start of BASIC and if it's not correct, we correct it and then reload the program. The "*" tells DOS to reload the file last accessed. This may seem like overkill, but too many programs designed to run on the 64 and 128 both seem to assume that BASIC is where it should be for the program to run. Of course, the routine probably won't work if you've been working with programs that are memory intensive, in which case a reset or power off/power on would be required anyway. At any rate, now that we know that BASIC will be where it should be, we need to code the starting address of the ML. The only thing that has to be known at this point is that the BASIC for the 64 is exactly 5120 bytes lower than that for the 128 (at startup of course). ========================================================================= @(#)forth: Scott Ballantyne: Blazin' Into FORTH - An Interview by Jim Lawless (jimbo@sr.radiks.net) Copyright 1996 by Jim Lawless ( jimbo@radiks.net ) @(A): Introduction In the early 70's, Charles Moore designed one of the most powerful computing languages known. This language, Forth, was very different from the traditional procedural languages. Forth is a language which allows the programmer to change most any facet of the language they wish ( including syntax extensions ). Forth's rapid acceptance on 8-bit microcomputers stemmed from the fact that it took a relatively small amount of memory to properly implement the language. As the 1980's were reaching their final years, Scott Ballantyne released an implementation of Forth for the Commodore 64 known as Blazin' Forth ( herein referred to as BForth ). Many were surprised at how powerful BForth was. The biggest surprise was that Scott gave BForth away for free. While many commercial Forth implementations graced the market, Scott came out of nowhere and blew them away with a superior implementation of Forth. Scott was gracious enough to grant the following interview via e-mail. Q: What influenced you ( during a time when Pascal and C were making big press ) to write a Forth compiler? A: I've always hated Pascal - the language is too restrictive to be useful with all that strict typing, and the I/O primitives are a disaster. I don't like languages that feel like a straight jacket, I prefer spandex. I wanted a fast, interpreted language to fiddle with the C64's metal, write communications programs and play with the SID chip and do graphics programming, etc. I actually thought about writing a C interpreter, C is fun and a great language but with all the libraries you need to make it useful (stdio, IO primitives etc.), I was afraid it would be too big to do anything useful. The C64 disk drives were too slow to make compiling reasonable and interpreters are more fun anyway, so it had to be an interpreter. At the same time I was thinking about writing an interpreter I was trying to learn Forth. My background is mostly in Lisp, and that's still my favorite language (Scheme, actually is my favorite). I would have written a Lisp interpreter but I'd been there, done that and I'd heard about Forth for years - robotics has always been an interest of mine and Forth is used a lot for that, so I bought some of the Forth programs that were available for the C64. What a rip off those were! They just *crawled*, not to mention that they were riddled with bugs - really horrible bugs like incorrect multiplication and division routines. They also didn't have some of the really clever Forth features like does>, and absolutely no programmer friendly tools like a trace or watchpoint. Not to mention no code to study, no extension to study, they were really poor. I kept buying these cartridges hoping to find one that was usable and they kept making me madder and madder, so I finally decided if I wanted to learn Forth, I would have to write my own. Q: I assume from your references to Henry Laxen and Forth Dimensions that you had prior experience with Forth? A: Not really - as you see above. I ordered all the back issues of Forth dimensions that I could, since I wanted to do things right and that seemed to be the way to understand things. I got a lot of documents about Forth-79, Forth-83 and etc. Halfway through the writing of the Blazin' Forth, I heard about Laxen's compiler, got a copy of it and I learned a lot from it. The way the block buffers are implemented, in particular, are modeled on the way Laxen did things. That's a very clean, very nice piece of work. I admired that compiler a lot. But Blazin' Forth is a lot different. I admire clean code and beautiful designs, but you always have to remember the old saw: "If you make it fast and ugly, people will hate you. If you make it beautiful but slow, nobody will use it." So there's a tradeoff one often has to make, especially on a small machine like the 64. Not to say that BForth is ugly, you understand, you just wouldn't take it home to momma. Q: In building BForth, you had put together a complete Forth-83 implementation with snazzy extensions. What led you to make the package free-for-use rather than trying to make a commercial go of it? A: I thought about marketing it. I probably could have made quite a bit from it, but I was still simmering from all the money I'd spent on those awful implementations in the cartridges. Remember that part of my motivation here was revenge. Also, around that time Stallman had just announced the GNU project. Having been at MIT and immersed in what later came to be called the hacker culture gave me a desire to encourage that sort of thing in general, and specifically on the 64. Why not? So I took the GNU manifesto and wrote this gigantic legal document based on the manifesto and gave the whole mess away for free. Besides, it's a lot more fun creating something than it is selling it, and I wasn't sure I wanted to spend years supporting any one piece of software, which I would have felt duty bound to do if I sold the thing. There were other projects I wanted to go on to. There were a lot of reasons, some idealistic and some just plain selfish. Q: In the documentation accompanying BForth, a reference is made to a version for the Commodore 128 supporting a number of features including multitasking. Did this project ever see the light of day? A: Actually, the 64 version was multitasking originally. There wasn't enough room to support that and the rest of the stuff (like the sound and graphics words) so I took it out. I think it was a mistake to axe the U area like I did, though. If I hadn't done that, some people could have written a tasker on top of what I gave them. Not a gigantic mistake, but it would have been better if I left it in. Remember that the traditional Forth multitasking is cooperative. Not sure I agree with that... I bought a 128, actually I just sold it a couple of years ago. Right around the time I was getting around to writing a Forth for it the Amiga came out and just blew me away. I never got back to the 128. The Amiga was great - what a shame that it was so poorly marketed. I worked on the ARP project and a lot of that code made it into the Amiga operating system, which was gratifying. Also, Commodore did pay us for that work, although it started out as another free project. I worked on that with a guy named Charly Heath. We never met - I could sit across the table from Cheath (that's what I called him) and never know it, all the work was done over the net. We were in daily contact and Cheath was a *great* programmer, also a very nice guy. It was interesting, but getting close to Commodore at that particular time was not the best thing. To tell you the truth it made me ill, there was a lot of ugly politics and bad decision making at the time, so I lost interest in doing stuff for people on the Amiga. I still have an Amiga though. I wrote an interesting operating system for it based on Lisp. It's like an Amiga Lisp machine, it acts a lot like the original Lisp machine, if you ever saw it. I have a good chunk of a Smalltalk programming system written on it too - graphics interface and everything. Really cool. Every now and then I pull it out and fiddle with it. I never released any of this code and then the company collapsed and there went my motivation to polish it up. I don't mind rough edges, but when I release something I want it to be as close to perfect as possible. Q: There are a lot of Amigoids out there watching what VisCorp will do now that they own the rights to the Amiga. Is there a chance that your Lisp and Smalltalk will see the light of day for this die-hard group of Amiga fanatics? A: I suppose it's possible. I only have a 2000 - it has a 68020 card with 2 megs of memory, but I sort of feel like with the 3000-4000 people wouldn't be that interested in code that was developed on the 2000, also the new graphics modes that are available on the later machines I don't have. Maybe I'm wrong. Doing this interview has got me interested in it again, I worked on the small talk stuff this weekend, as a matter of fact. Who knows? Q: What tools did you use to develop BForth? ( A metacompiler or pure assembler? ) A: I wrote my own assembler and linker. The assembler looked a lot like Lisp, the linker was very primitive really, just ran through and resolved references, it couldn't really move stuff around like a real linker can. It did make a cross reference though.. The assembler was actually rather nice. Some people wanted it, but I never got around to polishing it up and documenting it to release it. I have never been taken with the Forth metacompilers, but perhaps I don't understand them enough. Q: What sort of feedback did you receive from the general public pertaining to your compiler? A: Well, it was great. I was amazed. I thought maybe 10 people in the world would be interested in a Forth compiler. I had a Compuserve account back then and it was first uploaded to the C64 forum there, along with the source for the higher level words and all the documentation. It was quite a lot. It took forver for the sysops to make it public - nobody said anything but I think they were checking around to make sure I hadn't ripped it off. I guess it was a pretty unheard of thing to do, just give away a major piece of software like that. Anyway, once it was released the response was fantastic - it ripped across the country and I got tons of mail. I've never received so much mail from people. The most satisfying mail was from Forth programmers who said things like "I took my Forth cartridge out in the yard and drove a knife through it". Revenge. It's so sweet... And people sent me presents - some guys in California figured out how to make a self booting cartridge out of it and sent me a Blazin' Forth self bootable cartridge. That was really nice. There were even some commercial products based on it - you could do a save-Forth and lock people out of the Forth system, so it just looked like an application. There was a communications program, and some kind of cad system. I have no idea how well they did, but the programmers sent me complimentary copies. Some kid at CMU wrote a VAX Forth compiler based on BForth for a dissertation and sent me a tape and a printout. I kept it here for a long time, but I don't own a VAX and eventually got rid of it. I got BForth tshirts and of course millions and millions of questions. I got some hate mail too. Q: What sort of hate-mail? A: The sort you always get. I got some from libertarians who I had offended by giving it away, I got some from people who hated Forth and thought I should have written something else, I got some from people who had downloaded it and couldn't make it work. I'd try to help them, but sometimes it just didn't work for them. In many cases I had no idea why, they couldn't tell me, just `it didn't work'. I never got any mail from people who had written Forth's for commercial use - I was surprised at that. Q: I've seen nearly constant battles on net conferences between the Forth camp and the Pascal/Modula camp. Did you encounter any "language bigots" in the early days of BForth? A: Oh sure, you always do. Frankly I think all these language wars are misguided. I hate Pascal, but I don't have a problem if you use it. Why should I? I've never understood that. There are languages which are too brain dead to be taken seriously, but I still don't have a problem if people want to use them. I think it must be either not enough to do, or some kind of insecurity. Q: What positive feedback did you receive about BForth? A: People wrote tons of really useful software in it and I got copies of all of it. The nice thing too was that there were so few bug reports. Actually, there was only one bug ever reported from Blazin' Forth, and I found that myself and uploaded a patch. To tell the truth, there is one other bug in that program, I discovered it years later. It's actually a bug in the assembler - there was a garbage line that should have triggered an error but didn't, it assembled garbage. But the nature of the bug is such that it actually is only triggered extremely rarely. No one has ever reported it. Hehe! And this is an interesting point: I learned a lot from writing that thing and one of the things I learned was the value of programmers being involved in every aspect, from design to coding to writing the manuals to testing. Writing the manuals not only uncovered a lot of bugs as I was thinking up examples, it also suggested various improvements. But the biggest applause has to go to my girlfriend - we are still together, incidentally. She's the greatest. She's a musician and was curious about all this computer stuff, and remember that I wanted people to be able to learn Forth from scratch - the documentation, everything was designed to make it possible and easy to learn Forth from Brodies book, which was the most common text. So I gave her the Forth compiler, the documentation and the Brodie book, and she taught herself Forth. She found tons of bugs, but when she was done, she had learned Forth, I had a debugged system and I was pretty pleased, all in all. I'm sure this is one of the reason that people liked it so much - I got a lot of mail from people who said "I've tried so many times to learn this language, and now I have." There was lots more stuff - I got pictures of people holding up signs that said "We Love Blazin Forth!". It was very gratifying. Much nicer than money. People were very appreciative and tried to show it. Q: Would you recommend Forth as a first computer language? A: I think any modern computer language is a good one. Forth would be good. A lot of teaching beginners has to do with language independent features such as feedback and debuggers and stuff. It's not very rewarding for most first timers to do !'s and @'s or write 'hello world' programs. Big deal. That's one reason I put the turtle graphics into BForth - you can see loops and larger structures, it makes sense and it's rewarding, so I'm a big supporter of that sort of thing for beginning programming. I still remain partial to the Lisp class of languages, so if I were teaching I would probably use those for a beginner, but the same comments apply to those. Q: If you could do anything differently in the development and distribution of BForth, what would you do? A: Oh, I made some mistakes. I should have preserved the U area, like I said before. Today I would probably not implement the Forth block system, I'd use files instead. I never liked that, to tell the truth. It made a certain sense with the 64 disk drives, and the code I wrote is optimized for the rotational speed of those things, but I think it leads to better programming to just store your code in a file with a name. I would have added more hooks, I think I would have added a 'junk' dictionary for things like defining words or the assembler and editor that you could make 'go away' once you were done. That would have saved a lot of memory, I think. You always think about stuff like this for all your projects. Software is never really finished and I could go on forever about just about every program I've ever written. Even about little things. For example, I *really* regret not special casing horizontal and vertical lines in the graphics line drawing function. A little thing, but it was a mistake and it urks me. I thought about it at the time, but the compiler was getting so big, but I still think it was a mistake. Just last week, I was working on some medical imaging system software and I was writing a line drawing function, and I special cased the horizontal and vertical lines, and guess what I thought: "Shoot - I wish I'd done that with that Forth compiler..." Q: What sort of work are you doing nowadays? A: Whatever interests me. I have my own company "ScotSoft Research" and I do pretty interesting work for which I charge. A lot of Unix work, custom applications, kernel enhancements, etc. I have donated a lot of code to the GNU project and still admire what they do, and I still love to write software. For my own pleasure and improvement I still have lots of projects. At some point I'll finish my Smalltalk system for Unix computers. In a lot of ways the Amiga version is better - there's a lot to be said for taking over the machine. Maybe I'm a control freak, but there's a real rush in writing something 'from the metal up'. You can't do that with a Unix box and expect people to use it. Still, I like Unix a lot. The computers I've bought for my company are all Suns. IBMPCs and MACs make me puke. The Amiga, as good as it was, would have been a better machine if it had paid more attention to Unix... Q: Is Forth still something that you use on a regular basis? A: Nope. Haven't used Forth in years, except for the odd command at a the Sun monitor prompt. That's more a reflection on the environment I work in these days than Forth. It's a shame that the Forth community has let itself become so insular - you would have Forth compilers on Unix machines if there had been standardized support for libraries and a file system. Another weakness of forth is the lack of 'struct' - of course that can be implemented, but it needs to be part of the language definition to be truly useful. I still think Forth is great - I look at those micromint projects sometimes and think it would be fun to do some of that stuff in Forth... Q: Was the C64 the first home computer you owned? A: Sure was. The low cost + 64k memory and extra features made it an inevitable addition to my household :-) Q: Describe your introduction to programming ( were you a comp-sci student? ) A: No - they didn't really have comp-sci so to speak back then. I was in math and physics and got interested in using the computers for practical, number crunching work. We were supposed to use punch cards and take them to the IBM mainframe to be run by the priests, but I heard about the AI lab and started fooling around over there. Back then the lab was very informal, there were a lot of people who weren't even associated with MIT in any official way there, high school kids young university students (some younger than the high school kids), it was pretty open. Anyway, I got interested in hacking on the PDP series, and that started taking up most of my time. You learned back then by reading other peoples code, asking questions and reading manuals and of course experimentation. My math professors were not very approving of my interest in computers, telling me it would ruin my mathematical career and probably also lead to warts and blindness if I kept this up. Once you wrote some programs that were useful they put you on the payroll, so I made a little money, couple of bucks an hour or so. Q: In the March 1987 issue of Transactor, you published an article on Blazin' Forth. I noted that you retain the copyright to the article. Any chance that we could reprint it in C=Hacking? A: Sure. That was originally just in the C64 forum on CIS, might still be there - that's how the Transactor guys heard about it. Q: I found it odd that in the very same issue of Transactor, they ran an article that processing speeds of various languages for a given programming problem but did not include BForth as one of the languages. Did you ever type in the benchmark code to see how BForth stacked up to HES Forth, SuperForth, and C64 Forth? ( Not to mention the C/Pascal/BASIC compilers that were faster than any of the tested Forth implementations ). A: I did. What's more interesting to me than the fact that BForth outperformed those compilers is that a properly implement sieve in Forth outperformed that scrungy algorithm in 6502 assembler that somebody implemented. A lot of programming well is selecting algorithms and designing the program well, these language debates (higher level vs. assembler, Forth vs. C, etc. etc.) tend to obscure this fact, which is actually a much more interesting topic. At least it is to me. Which is not to say that learning different languages isn't good, because it is. Inevitably styles and ideas are imbedded into programming languages just as they are into human languages and some things are easier to say in 'C' or 'Forth' and some things aren't. Also, languages like Lisp or scheme can allow you the freedom to explore interesting methods of programming, such as message passing or delayed evaluation models which would be cumbersome in Forth. Once you have these concepts under your belt, you can use them in any language or dialect. But I think a lot of people are 'coders' and know languages, but there are very few 'hackers' or 'programmers' who are in love with clever ways to solve problems or squeeze more cycles out of a box. That's more work, but it's also a lot more fun and rewarding. Q: There are scores of enthusiasts who are either discovering the magic of the 64/128 by picking them up inexpensively, or they are using one of the emulators available for various PC/Mac/Amiga platforms. What words of wisdom pertaining to BForth would you import on these enthusiasts? A: Wisdom. That sounds so boring. Have fun, experiment, don't be afraid to crash the machine or do goofy things. Don't assume I did everything right either, I didn't. When you think you know enough, pick a big project that interests you and start writing it. Mostly, have fun. I don't know if that's the key to life, but it sure is the key to writing good software. Thanks for the interview Scott! How about it? Have I made any of you curious about Forth? Should we start a BForth tutorial here in the pages of C=Hacking? If you'd like to see more BForth coverage ( including the article from Transactor mentioned in the text above ) please let me know. Write me ( Jim Lawless ) at: jimbo@radiks.net You may obtain Blazin' Forth from my Web page at: http://www.radiks.net/jimbo/blazinforth.arc ========================================================================= @(#)trivia: Commodore Trivia by Jim Brain (brain@mail.jbrain.com) @(A): Introduction As some may know, these questions are part of a contest held each month on the Internet, in which the winner receives a donated prize. I encourage those who can receive the newest editions of trivia to enter the contest. This article contains the questions and answers for trivia editions #33-41. If you wish, you can subscribe to the trivia mailing list and receive the newest editions of the trivia via Internet email. To add your name to the list, please mail a message: To: listserv@mail.jbrain.com Subject: LISTSERV Body: subscribe trivia-dist Firstname Lastname help quit In addition, the Commodore Trivia is housed at: http://www.jbrain.com/trivia/ (HTML) http://www.jbrain.com/pub/cbm/trivia/ (TEXT) ftp://ftp.jbrain.com/pub/cbm/trivia/ @(A): Trivia Questions and Answers The C128 Set: Q $200) How many general purpose central processing units does a C128 contain? A $200) The "3 computers in one" machine only contains 2 CPUs. The Z80 handles CP/M mode, while the 8502 handles both 64 and 128 mode. The "3" in the C128 motto threw a bunch of folks. Q $201) The Commodore 128 contains a MMU IC. What does MMU stand for? A $201) MMU = Memory Management Unit. Technically, the 64 contains one as well, but it was always referred to as the PAL or PLA in the 64. The 128 MMU does more than the 64 version, though. Q $202) What Commodore produced cartridge is specifically mentioned in the 128 PRG as being incompatible with the 128? A $202) The Commodore 64 CP/M 2.2 cartridge. Q $203) The C128 introduces the concepts of "banks" How many such banks are recognized by the C128 BASIC? A $203) 16. Bank 0 through Bank 15. Q $204) What version is the BASIC included in the C128 in native mode? A $204) BASIC 7.0. Q $205) Can any of the BASIC graphics commands be used on the 80 column screen? A $205) It depends on how you define "graphics commands". When writing the question, I was thinking of commands like BOX and CIRCLE that are written solely for use with the 40 column screen. However, commands like SCRNCLR, CHAR, and COLOR commands are considered part of the graphics set. Graphics commands that draw pixels on the bitmapped screen will NOT work on the 80 column screen, but those that merely set attributes or put characters at certain locations will work. However, don't let this fool you into thinking the 80 column screen can't support graphics. It can. Q $206) How many high-level graphics commands are available on the C128 in C128 mode? A $206) 14 high level graphics commands are included on the 128. Q $207) In C128 mode, at what location does screen memory start? A $207) It resides in the same location as on the 64: 1024-2023 ($0400 - $07e7). Q $208) The 80 column IC in the 128 can display how many full character sets of 256 characters each at one time? A $208) 2. While the VIC-IIe can only display 1, the VDC IC can handle display opf both sets simultaneously. That means a person can print upper/lowercase and graphics/uppercase characters on the same screen. Q $209) Many have scorned the C128's 80 column video IC. What about this IC makes it so hard to use? A $209) The VIC-IIe 40 column IC maps its configuration registers and screen memory into the C64/C128 memory map. The 8563 VDC IC does neither. All of its registers, screen memory, and color memory are hidden behind two registers. These two registers control access to the entire IC. In effect, these two registers are the "portal" to the VDC memory map. To modify or read a VDC internal register, the programmer must place the register number in one lcoation and wait for the result to appear in the other register. Q $20A) What number is the 80 column IC referenced by? A $20A) 8563 Q $20B) What machine language addressing modes cannot be used with the 80 column chip? A $20B) The manual warns against using "indirect" addressing opcodes by claiming their use could generate "false" bus states that confuse the IC. In reality, howevr, only the indirect mode of the STA opcode will cause any harm. To understand why, one must note that the STA ($00),y instruction executes a read of memory before doing its write. Q $20C) The C128 contains keyboard keys not present on the C64. What IC is used to read these keys? (besides the CIA, as on the 64) A $20C) There are two answers. Aside from the ROM, the CPU, and the above mentioned CIA, the VIC-IIe IC provides the extra 3 lines used to scan the keyboard. The C128 MMU IC provides the capability of reading the status of the 40/80 key. (Thanks for Marko Makela for this info) Q $20D) Following the introduction of the C128, a new version of was developed. Name it. A $20D) It is alternately called CP/M Plus or CP/M 3.0 Q $20E) Many people refer to C128s as 16k or 64k units. To what does this refer? A $20E) In question $209, we noted that the 8563 80 column IC in the C128 has an internal memory map. As such, the 8563 can have varying amounts of RAM attached to it. Earlier C128 contained 16kB of this "VDC" RAM, while later variations and some third party products increased this to 64 kB VDC RAM. Q $20F) According to the C128 literature, the C128 can be expanded to use how much memory? A $20F) 640 kB. The C128 Developer Set Q $210) The C128 Memory Management Unit is located at $d500 in memory. At what other address does a copy of the MMU registers appear? A $210) $ff00-$ff04 contains a partial mirror of the MMU registers. Q $211) How many MMU registers are are identical in the two memory ranges? A $211) 1. The Configuration Register at $d500 and $ff00 Q $212) If you are writing a C128 machine langyage program and would like to issue a jsr to another bank of memory, what KERNAL call would you use? A $212) JSRFAR ($ff6e). Q $213) How do you pass the parameters to the KERNAL call in auestion $212? A $213) You store the parameters in $0002-$0008 and issue the call. Q $214) When the C128 was developed, Commodore created a very useful buffer printing routine in the KERNAL. What is its common name? A $214) PRIMM (Print Immediate, at $ff7d). Q $215) For the routine in question $214, how do you pass the string that you wish to print to the routine? A $215) You store the buffer, terminated with a null character immediately following the call. Q $216) When the C128 boots, the Z80 gains control first. It begins accessing memory starting at what location? A $216) $0000 Q $217) How much ROM in the C128 is supplied to hold the Z80 power up boot code? A $217) 4096 bytes. Q $218) How many configuration presets can the C128 MMU handle? A $218) 4. Q $219) How small of a common RAM area can be defined in the C128 MMU? A $219) Although the answer "none" is technically correct, I was looking for the less obvious non-zero amount, which is 1 kB of RAM. Q $21A) How large of a common RAM area can be defined in the C128 MMU? A $21A) 16 kB of RAM. Q $21B) How many times does a disk drive get accessed BEFORE the C128 finishes booting? A $21B) twice. (Once to attempt a CP/M boot, and once to attempt a C128 boot). Q $21C) What key would you hold down on the C128 during bootup to immediately enter 64 mode? A $21C) The Commodore Key. Q $21D) Name the first 4 keys on the top row of the C128 keyboard? A $21D) Escape, Tab, Alt, and Caps Lock. Q $21E) On what side of the C128 case is the RESET button located? A $21E) The right side. Q $21F) What is different about the C128 power supply connector compared to the 64 DIN power supply connector? A $21F) The connector is square in appearance, although the voltages are identical to the ones provided for the C64. Q $220) What 3 bytes must reside on track 1, sector 0 of a disk in order to autoboot that disk on a C128? A $220) The abovious "CBM" bytes must be present. Q $221) Let's suppose you pick up a printer at a flea market and it says CBM on the decal. However, it lacks the familiar logo and further investigation reveals it isn't a Commodore printer. The printer was made in 1984. What company sold the printer? A $221) Citizen Business Machines (Citizen). I had a lady inquire about a printer so marked. Q $222) Which company came out with the first parallel printer interface for the VIC-20 in the US? A $222) CardCo, Incorporated. Q $223) If you boot up a 1540 disk drive and read the error channel, what model number is indicated in the power-up string? A $223) V170. Possibly, this is the code number for the drive. Dunno, Q $224) Who produced the very first Commodore diskette drive? A $224) As close as I can tell from research, a company called "Convenience Living" brought out the first Commodore disk drive, beating Commodore's 2040 by many months. The system was a dual drive 100 kB per unit single sided drive. The company changed their name or sold the unit to "CompuThink" upon introduction. Q $225) What company wrote the initial BASIC for the Commodore computer line? A $225) Your archenemy and mine, Microsoft. When the PET series was introduced, Microsoft's Gates and Paul Allen made big bucks licensing BASIC for small computers. Microsoft BASIC was small and ran on minimal hardware, making it an ideal language to bundle with early machines. Commodore modified the BASIC after 1.0 and Microsoft was not involved past the initial porting effort. As an aside, it's rumored that Gates and Allen might have lifted the source for BASIC from the University computers where they attended, but who knows :-) Q $226) What was the last modem Commodore produced for the 8-bit line? A $226) The 1670. Q $227) Which came first, the 2040 or the 2031? A $227) The 2040. In business, it's generally considered bad practice to deliver a smaller numbered model after a larger numbered one, especially if the units perform the same function. Commodore didn't use such logic :-) Q $228) Which came first, the 4040 or the 8050? A $228) Again, Commodore rebelled and delivered the 8050 long before the 4040 showed up on the scene. This time, the reason was more logical. The drives served two different markets and were keyed with the prefix number of the machines they were marketed with. The 4040 sold with the 40XX series, while the 8050 came with the 80XX systems. Q $229) Where were VIC computers introduced first: US or Japan? A $229) Japan. Commodore introduced the PET in the US first, but found the US market "fickle", so they introduced the VIC overseas first, since that market was easier to penetrate. Q $22A) Which Commodore 64 model came out after the C64c and sported an "off-white" case? A $22A) The C64gs (Graphics Station). I am uncertain, but believe this to be a non-US machine only. Q $22B) Commodore produced two "Pong" type video games. Name one model. A $22B) CBM 2000K and 3000H models. Both were simple machines with unknown processors. Q $22C) What significance does the name "Gortek" have with respect to the VIC-20? A $22C) "Gortek and the MicroChips" were characters introduced to help people learn how to use the VIC-20. Q $22D) What person actually developed CP/M for the C128? A $22D) Von Ertwine Q $22E) The 8563 VDC IC in the C128 was originally designed for another Commodore computer. Which one? A $22E) The Z8000 machine, another machine that never saw the light of day. Q $22F) Name the single bit in the status register of the 6502 that can be set externally. A $22F) The Overflow (V) flag can be set via pin 38 of the 6502, the SO pin (Set Overflow). Q $230) What control character would one send to a Commodore printer to start double-wide character printing? A $230) On the 1525 (and successors, like MPS 801, MPS 803, etc), chr$(14) was used. A few IEEE printers also contained chr$(1), which printed 'enhanced' double wide characters. Q $231) What control character would one send to a Commodore 1525 printer to inititiate graphics mode? A $231) chr$(8) Q $232) What control character would one send to a Commodore printer to end double-wide character printing? A $232) On the 1525 (and successors, like the MPS 801 and 803), chr$(15) was used. On the IEEE printers and the 1526/MPS 802 (a 4023 IEEE printer with serial bus connection, chr$(129) was used instead. Q $233) How many registers does the VIC-I (6560/61) IC possess? A $233) According to Commodore, the 6560/1 IC contains 16 addressable control registers, which is the number we were looking for. How many registers are actually used internally is anyone's guess. We also accepted 26 as the answer, since there are 26 differint configuration fields within the 16 bytes of memory mapped I/O. Q $234) How many registers does the Plus/4 TED IC have? A $234) Multiple answers exist for this question as well. The TED contains addressing to support 64 I/O registers, but only 34 are used. Q $235) We all know the 1541 stores its directory on track 18. Where does the IEEE 8050/8250 stores its directory? A $235) Track 39. Q $236) If a program opens a channel to tape, reads some data, and a check of ST AND 32 is true, what error does that indicate? A $236) checksum error. Q $237) Depending on how many memory was added to a VIC-20, BASIC could start in one of three locations. Name them. A $237) 1024, 4096, or 4608. Q $238) Commodore's first floppy drives used what brand of mechanisms? A $238) Shugart. Q $239) If one sees a directory listing that starts with: "MY DISK OF STUFF,MY,2C" What CBM drives could have wrote this disk? A $239) 8050 or 8250 or derivatives: 8250LP and SFD 1001. Q $23A) Name a color available on the VIC-20 that is NOT available on the 64? A $23A) Any of the following qualify: o Light Orange o Light Cyan o Light Purple o Light Yellow By the way, none of these colors can be used for text. Q $23B) Name two CBM computer series that used a real 6551 UART to do serial communications. A $23B) The Plus/4, the B128, The 700 Series. I suspect the 600 and 500 Series as well. Q $23C) On the Commodore SX-64, is drive 0 above or below the built-in storage bin? A $23C) It is below the storage bin. For those who created a DX-64 (2 drives, the standard placement is to instal Drive 1 above drive 0. Q $23D) Without looking, which key is located to the direct right of the semicolon ';' key on the C64? A $23D) With exception to the Swedish 64, The equals '=' sign. On Swedish models, the return key sits next to the ';' key. On Swedish keyboards, the key placement of the rightmost 4 columns is altered. Q $23E) What does drive error number 72 mean? A $23E) Disk Full or Directory Full Q $23F) What was the model number of the first serial drive Commodore developed? A $23F) Technically, the 1010 was the first unit, but I have no reports it ever made it past prototype stage. And I doubt it was serial. The 2040 would qualify, but it was parallel (IEEE 488). Therefore, the VIC 1540 is the first CBM drive to fit the criteria. Q $240) What POKE is used to disable RUN/STOP RESTORE and also scrambles LIST attempts on the C64? A $240) POKE 808,234. POKE 808,237 restores everything. Q $241) What happens if you run a program in BASIC 2.0 and it executes a CONT statement? A $241) The program gets caught in an endless loop. Q $242) What happens if you run a program in BASIC 7.0 and it executes a CONT statement? A $242) UNlike in BASIC 2.0, the statement is skipped. Q $243) What diference exists between generating a "beep" (Ctrl-G) on the C128 after RESET and after RUN/STOP RESTORE? A $243) The volume is set to a different level on a warm start than on a cold start. Q $244) In Commodore BASIC, is anything needed after the THEN of an IF/THEN statement? A $244) No. The command following the THEN is optional. Q $245) In Question $0B3, we noticed that the 64's BASIC 2.0 placed two spaces between the error text and the word "ERROR" in error strings. On what machine was this problem fixed and only one space appears? A $245) The C128. The C128D and C65 also fixed the problem. Q $246) What disk drive was introduced to be used with the Commodore 64? A $246) The Commodore 1541. However, intially, it was called the VIC1541. Commodore was confusing. Q $247) What upgrade to original PETs caused some machines to dISPLAY tEXT lIKE tHIS iNSTEAD oF dISPLAYING cORRECTLY? A $247) When early PETs were upgraded to BASIC 2.0, the character set ROM had to be replaced. The problem was that some PET boards had 28 pin ROM sockets, while others had 24 pin. The new character ROM only came in one size, so the models with the wrong number of pins on their board had to go without. Commodore had decided to flip the location of uppercase and lowercase characters in the ROM. Q $248) Newer Commodore 1541 drives have a multicolored "rainbow" pattern on the front decal. Name the colors in order from top to bottom that make up the "rainbow". A $248) Red, Dark Yellow, Light Yellow, Green, Blue. Q $249) Commodore disk drives have flip flopped on drive LED color meanings over the years. When the serial drives first appeared, green meant power and red meant access/error. With what drive did they swap the meanings? A $249) The 1571 swapped meanings. Later, the 1541-II and 1581 also used red for power and greeen for access, but the 1541C continued the alternate usage. Q $24A) Most late-model CBM VIC-20 sport a DIN style power supply connector. However, early VIC units utilize a different connector. How many pins did this early connector have? A $24A) 2 (two). American typically refer to the connector as a "electric Shaver" or "electric toaster" connector. Q $24B) Although Commodore produced mainly 80 column printers, it did introduce some "wide carriage" models. How many columns did these printers have? A $24B) 132 columns. Q $24C) What is the "nickname" for the Commodore logo? A $24C) Depending on who you ask, either "Chicken Feet", "Chicken Head", or "Chicken Lips". I like the second one best. Q $24D) When the Commodore 128 was introduced, a new Graphical User Interface was introduced to be used with it. Name it. (hint: not GEOS). A $24D) Jane. Q $24E) A stock C128 powers up showing how many bytes free? A $24E) 122365 bytes free. Q $24F) Of those, how many can actually be used to store BASIC code? A $24F) Bank 0 locations $1c00 to $fbff (57344 bytes). Q $250) For years, Commodore owners have purchased Commodore printers with model numbers like MPS801, MPS802, MPS802, and MPS1000. What does 'MPS' stand for? A $250) Matrix Printer Serial. Q $251) For the introduction of the 264 Series (Plus/4), Commodore produced a letter quality printer called the DPS1101. What does 'DPS' stand for? A $251) Daisy Print Serial Q $252) What does CBM DOS error number 75 mean and which drive(s) does it appear in? A $252) I was looking for "Format Error". This error occurs on the 1581. However, Todd Elliott mentions this also appears on the 8250 as "Format Speed Error". Q $253) What does CBM DOS error number 76 mean and which drive(s) does it appear in? A $253) Controller Error. It appears first on the 1581. It implied that the MFM controller was not functioning correctly. Q $254) How many characters per inch does a VIC 1515 printer print when in normal mode? A $254) 10 cpi. Q $255) How large (in bytes) is the internal VIC 1525 printer buffer? A $255) 90 bytes. Q $256) How many revolutions per minute does a 1541 disk drive disk rotate at? A $256) 300 rpm Q $257) On Commodore disk drives, where is track 1 located: outside, middle, or inside of disk? A $257) Outside. Q $258) Which Commodore 8-bit machine(s) came stock with stereo SID sound? A $258) The Commodore 64DX (65) Q $259) On the 64 and 128, which joystick port is closest to the power connector: 1 or 2? A $259) Joystick Port 2 Q $25A) The Commodore 1520 plotter can print in how many colors? A $25A) 4 colors. Default colors are red, green, blue, and black. Q $25B) The 8050 disk drive creates how many tracks on a floppy disk? A $25B) 77 Q $25C) What dot matrix printer matches the color scheme of the CBM Plus/4? A $25C) The MPS 803. Q $25D) How many "mirrors" of the VIC-II IC registers appear in the 64 memory map? A $25D) 16. The VIC-II only contains enough addressing for 64 bytes, so the registers repeat every 64 bytes. Q $25E) Which location in C64 memory contains the 6510 Data Direction Register? A $25E) Location 0. Q $25F) What is the significance of $fffe-$ffff in 65XX CPUs? A $25F) Whenever an IRQ happens, the CPU fetches the location of the routine that will handle the IRQ from these addresses. Q $260) In BASIC 2.0, what happens if you try to CONT a program after a program has executed a STOP command? A $260) The program is continued from the statement following the STOP command. Q $261) What is Drive Error 75 mean? A $261) Alert readers will note this is the same question as $252. The error A $252) Alert readers will note this question is a duplicate of $252. My memory if failing. I was looking for "Format Error". However, Todd Elliott mentions this also appears on the 8250 as "Format Speed Error". Q $262) What does the Super Expander 64 command RDOT do? A $262) RDOT(M) returns information for next pixel to be plotted using mode M. M=0 return X coordinate. M=1 return Y coordinate. M=2 return Color Source. Q $263) Quick, what does the 6502 opcode PHP do? A $263) Pushes the processor status onto the stack. Q $264) When using the SBC opcode to perform subtraction without a borrow, should the carry flag be set or clear? A $264) It should be set, since the carry flag is treated as "-Borrow" (not borrow) when doing subtraction. Q $265) Name the all-important zero-page subroutine on the VIC and 64 that appears at location $73. A $265) CHRGET. This routine fetches the BASIC next character. This routine is usually patched to allow new BASIC commands. Q $266) How many I/O locations does the SID IC in the 64 actually use? A $266) 29 bytes. Q $267) How many I/O locations does the SID IC in the 64 actually show up in? A $267) 1024 bytes. Q $268) How many blocks free does a newly formatted D9090 drive report? A $268) 29162 blocks free. The drive contained a total of 29376 sectors, implying that the initial BAM and directory reserved 214 sectors. Q $269) Name the number of sectors per track on a D9060. A $269) 32 sectors per track. Q $26A) Name the only Commodore disk drive that used neither a serial bus nor IEEE-488 bus hookup? A $26A) I goofed on this question. Tghere are three answers: The Amiga external drives. The 1551 (connected via cartridge to PLus/4 or C16) The External Drive for the C65 (connected via nonstandard serial bus) Q $26B) The Block Availability Map for the 8050 and 8250 drives starts on what track? A $26B) Track 38. Q $26C) On an 80 column PET, where does screen memory start? A $26C) $8000. If you consider the B series to be PETs, then $d000 is also a correct answer. Q $26D) What CHR code can one use to scroll up on the 8032? A $26D) chr$(25) Q $26E) On the VIC-20, 0000 to 0002 were used to hold the jmp xxxx for the USR function. The 6510 in the C64 took over 0000 and 0001. Where did Commodore relocate the USR jump vector to on the 64? A $26E) 784-786. The relocation causes an unused byte of zero page RAM at $0002. Q $26F) The KERNAL jump table on the VIC and 64 differ by how many bytes in length? A $26F) They are the exact same length on both machines. Q $270) Many people lamented the demise of QuantumLink, known alternately as Q-Link or the 'Q'. When did QLink oficially close? A $270) November 1, 1994 Q $271) Name the vaporware Virtual Reality area that was to become a part of QLink, but was never finished/released in its original form. A $271) Habitat, a role playing game designed by LucasArts (part of the computing talent of George Lucus of Star Wars fame). Q $272) The QLink area mentioned in Q $271 was eventually scaled back and introduced on QLink as what area? A $272) Club Caribe, basically a chat system. Q $273) The Commodore Punter Protocol was devised by Mr. Punter. What is his first name? A $273) Steve. Incidentally, the Punter protocol lives on in the IBM world, where Steve has a Punter BBS with echoes (like FIDO). Q $274) What kind of product is the Skyles Flash! unit? (hint: most folks don't need one.) A $274) Serial to IEEE-488 converter. It's used to attach IEEE-488 peripherals (used on the PET line of computers) to a CBM serial port. Q $275) On early revisions of the 6502, the SO pin on the IC was labeled CPS. What does CPS stand for? A $275) Chuck Peddle Special.... Named after 6502 designer Chuck Peddle. Q $276) What Commodore system was referred to as the 'Z' Machine? A $276) The C900 Prototype UNIX System. Commodore never successfully marketed the machine, which included a Zilog Z8000 CPU (hence the name) Q $277) (True or False). Commodore 64 compatibility was designed into the C128 from the beginning. A $277) True. Lead Designer Bil Herd, fed up after working on the ill fated Plus/4, spouted off to senior management about the lack of compatibility killing the project. His comments were heeded, and he took on the C128 with the mandate that it be compatible with the 64. Q $278) The 8563 VDC found in the C128 was originally designed for what CBM machine? A $278) The C900 machine mentioned in $276. Q $279) What was the "Theme Song" of the C128 developers? A $279) The live version of "Solsbury Hill" by Peter Gabriel. Q $27A) Who developed the C128 version of CP/M? A $27A) Von Ertwine. Q $27B) How many Paddles can one connect to a Commodore 8-bit machine? A $27B) Technically, 4 paddles can be connected, although only 2 can be read at any instant in time. Q $27C) Does the B128 have joystick ports? A $27C) No. Q $27D) Commodore file type 2 is PRG, and type 3 is USR. What is Commodore file type 0? A $27D) DEL or Deleted. Very rarely used. Q $27E) What is Commodore file type 1? A $27E) The very useful SEQ file type. Q $27F) The original VIC-20 systems had how many pins on the video port? A $27F) 5 pins. After the 64 was introduced, newer version had 8 pins, the same as on the 64. Q $280) The C128 has a real Caps Lock Key, but it failed to present an uppercase character for what letter on the 128 keyboard? A $280) The Q key. This problem only exists on first revision US 128 ROM units. As such, you can easily determine if you need a ROM upgrade by trying the Q key on your 128. Q $281) What one feature made the CBM 1660 modem immensely popular with the phone phreaking crowd? A $281) Ability to utilize the SID IC to generate touch tones and other tones through the phone. This allowed the 64 to behave as a virtual "blue box" or "red box" and send the magic 2600 Hz tone that patched one into the phone system. Q $282) What does Timothy Leary, "the father of LSD" and Commodore have in common? A $282) Leary was a C64 user and wrote articles for a small C= magazine based in Oregon. However, I accept one technically true resoponse from Roger Toupin Jr., who said, "Both are dead". Q $283) At what speed do the platters in CBM D series hard drives revolve at? A $283) 3600 RPM Compare to floppies at 300 RPM. Q $284) In question $189, we noted that COMPUTE. Changed its punctuation to COMPUTE! shortly after introdcution. However, many years later, they changed back to their former punctuation. When did this occur? A $284) When Compute! Publicationswas purchased by the publisher of OMNI magazine, they changed the name back to COMPUTE. (note period. Q $285) Tough one. Finish the following Commodore advertising slogan: "Advanced Technology Through Vertical ___________" A $285) Integration Q $286) In what "mode" can the Commodore 64 VIC-II IC access external memory? A $286) The UltiMax mode. This is the only mode where the VIC-II can perform this feat, and is the same mode used on the ill-fated Ultimax machine. Q $287) What Primary CPU was used in the CBM 500/600/700 series? A $287) The MOS 6509. Basically, the 6509 was a 6502 with memory locations 0000 and 0001 used as 34bank34 registers. Address 0000 was the execution bank, while 0001 was the indirection bank.. Q $288) How much RAM can be accessed on a 500/600/700 machine? A $288) The 500/600/700 series, as well as the B128/B256 series, can be expanded to 256kB internally, 704 kB externally, for a total of 960kB of RAM. Q $289) When using the KERNAL call PLOT, is the upper left corner of the screen 0,0 or 1,1 ? A $289) 0,0 identifies the upper left corner of the screen. Q $28A) What does PRG stand for? A $28A) Well, the CBM DOS uses it as a acronym for PRoGram File, and Commodore calls it's technical references Programmer's Reference Guides. Q $28B) when displaying information on the screen, what PETSCII character is used to turn the character color to RED? A $28B) COde 28 ($1C) will switch the character color to red. Q $28C) If you poke the 64 screen memory with 0, what character fills the screen? (Hint: it is NOT space) A $28C) The '@' character, screen code 0. The space is screen code 32. Q $28D) When a BASIC or ML program initializes DEVICE 2 (RS-232) for usage, how much memory is stolen from the top of BASIC memory for buffers? A $28D) 512 bytes. 256 bytes each for an input and output buffer. That is why you must open the RS-232 port before defining variables. The buffers are taken from TOB (Top of BASIC), which resets are variables. Q $28E) On what 64 computer model does [SHIFT] [RUN-STOP] load a program from disk? A $28E) The SX-64 is designed to boot from disk by default, and some suggested the C64GS, although I can;t verify the latter. Q $28F) What happens if you issue NEW in a program, like: 90 PRINT "HI" 100 NEW 110 GOTO 90 A $28F) As expected, the program prints the HI message, then erases the current program from memory. ========================================================================= @(#)bits: Twiddling the Bits: The DataPump Plus by Frank Kontros (jeno@kontr.uzhgorod.ua) "DataPump" the 6551 ACIA Card (C)opyright Perry M. Grodzinski, 1991 "DataPump Plus" contra "SwiftLink, DataBlast, CommPort" upgrade by Frank Kontros 1996 Note: You are free to give away these documents but not to sell. SwiftLink, DataBlast & CommPort are respective trademarks of their copyright owners. @(A)intro: Introduction In the original "DATAPUMP" card, many have found it difficult to find the AA4890 DC-DC converter IC necessary to build the cicuit. In addition, new RS-232 drivers contain a built in DC-DC converter and do not require additional voltage sources except 5VDC. (e.g. MAX 230, 232, 235, 237). This chip needs fewer external componets than the AA4890 specified in the original schematic. I decided to use the cheap MAX 232. It usually only costs US$1.50 - US$2.00. There are also many other chips, such as the Analog Devices AD232 and the ICL232. which provide the same functionality as the MAX232. The MAX232 IC contains 2 RS232 drivers/receivers. Note that the MAX232A is not the same IC; it performs the same function, but requires additional external capacitors. I have revised the DataPump schematic to reflect the MAX232 usage. See the "Hacking the Code Section for the Schematic in GIF format (Reference: code, SubRef: dpschematic). In addition to revising the circuit to use readily available components, two additional jumpers were installed: J1 for $DE00/$DF00 (IO1/IO2) ACIA address selection, and J2 for IRQ/NMI selection (for use with fast IRQ interrupt handlers, e.g. OS/A65. Resitors R2-R4 pull up the outputs to logic high when no modem is connected. This helps alleviate program hangups due to simlp0sitic modem initialation code. If you intend to use this circuit on a C128 or C128D in 2MHz mode, substitue an 8551 or 6551A ACIA for the 6551. If you would like to utilize a clock generator instead of the 3.6864 MHz quartz crystal oscillator, connect the generator OUT to XTAL1 (6) leave XTAL2 (7) floating, and connect power to the generator as follows: _________________________ | \ | N.C. GND | | O O | | | | | | O O | | +5V OUT | \_______________________/ @(A): Integrated Circuit Pinouts: R6551 PINOUT MAX232 PINOUT +---------------+ +-------+ GND --| 1 28 |-- R-/W +cap1 -|1 \/ 16|- Vcc CS0 --| 2 27 |-- o2 +cap3 -|2 15|- GND /CS1 --| 3 26 |-- /IRQ -cap1 -|3 14|- T1out /RES --| 4 25 |-- DB7 +cap2 -|4 13|- R1in RxC --| 5 24 |-- DB6 -cap2 -|5 12|- R1out XTAL1 --| 6 23 |-- DB5 -cap4 -|6 11|- T1in XTAL2 --| 7 22 |-- DB4 T2out -|7 10|- T2in /RTS --| 8 21 |-- DB3 R2in -|8 9|- R2out /CTS --| 9 20 |-- DB2 +-------+ TxD --| 10 19 |-- DB1 /DTR --| 11 18 |-- DB0 RxD --| 12 17 |-- /DSR RS0 --| 13 16 |-- /DCD RS1 --| 14 15 |-- Vcc +---------------+ @(A)note: Conclusion and Notes The "DataPump Plus" fully supports applications written for the Swiftlink, the DataBlast, and the CommPort ACIA cartridges. In addition, the new jumper additions offer mre control over operation, and provide better Swiftlink compatibility. Good Luck! ========================================================================= @(#)error: ? DS, DS$: rem The Error Channel @(e)trivia: Commodore Trivia In The Commodore Trivia Article in Issue #14, the answer to question $1EB was completely wrong. The correct question and answer appear below: Q $1EB) What difference between the VIC-I and VIC-II causes VIC-II equipped systems to potentially operate slightly slower than VIC-I equipped systems, all other items held constant? A $1EB) The dot clock on the VIC-I is only 4 times the processor clock. That is, the VIC-I can fetch 2 bytes for each 1 byte data (8 pixels) it displays, without stopping the processor. But the VIC-II has narrower pixels, because the dot clock is 8 times processor clock, and as a result, it only can read 1 byte for each byte (8 pixels) it displays. This is sufficient for fetching the character images, but the processor must be stopped to fetch the character codes (and colours). (Thanks to Marko Makela for this explanation) ========================================================================= @(#)vic: Technical Information on the VIC-20 by Ward Shrake @(A): Introduction This document is a collection of pinout diagrams and technical notes, meant to assist anyone who wishes to experiment electronically with the "obsolete" Commodore Vic20 computer. Specifically, this document addresses the cartridge or Memory Expansion port and related items, such as ROM & EPROM memory chips. What kinds of things can you do with a Vic20? Well, how much imagination do you have? The hardware isn't as limited as most of us probably remember it being, so the question becomes largely one of what you want to do with it, what your level of skills and knowledge may be, and so on. Here are some examples of things you can do ... but by no means the only things possible! - A reset button can be wired into the Vic20 fairly simply. This might be a good idea, if one plans to experiment much. The Vic20, or any computer, might lock up when you've told it to do something odd while experimenting. Simply use a momentary-contact, normally-open switch, wired between the RESET line and any port GND line. When you press the new button for a second and let go, the computer will reset. This is because the RESET line is active low, and your switch grounds that line. If you decide to do this *inside* your Vic20, remember you are now looking at the *back* of the port, NOT the front. Therefore, use the pinout diagram for a cartridge, not the port, to find the lines. Radio Shack switch part number 275-1547 or equivalent will work fine. - Make your own EPROM-based plug-in cartridges, in standard memory sizes. The "stock" Vic20 supports up to 32k of memory, in banks of 8k each. The first banks (#1, 2, 3) are contiguous memory, and can be RAM or ROM at your choice. The next bank is actually a ROM operating system chip, so that's the end of contiguous memory. However, the bank after that (#5) is another usable bank. It can be RAM or ROM; it is usually ROM, but can be RAM with one restriction; BASIC can't "see" it as easily usable. (See the pinout below, for more information on memory banking on the Vic20.) - Archive existing ROM or EPROM cartridges to disk or tape, to allow them to be run from within a RAM expander. Most commercial cartridges were 8k in memory size, with a small amount having been 4k or 16k of memory. - Modify an existing RAM expander, to move one 8k bank of RAM into the upper memory area, in "block 5". ($A000 hex, for all you ML junkies.) This is not anywhere near as hard as it sounds ... and if you want to play archived game cartridges as "images" in RAM, it is necessary. To do it, just (A) open your RAM expander's plastic casing, (B) see if you have a bank of DIP switches already installed, and (C) if you do, just flip the left-most switch "on", while turning the other 3 all "off". (Note that this assumes you are using an 8K expander; if you are using a 16K expander you need to be aware that there are two side-by-side groups of four switches each; the left half controls the upper 8k, and right one controls the lower 8k bank.) - If you want to do the RAM expander modification mentioned above, but you find you do not have DIP switches already installed, you can do one of two things. (A) you can install new switches yourself, or (B) you can do an easier and more permanent modification, by putting a blob of solder across the two left-most half-circles on the PC board, and making sure there are no other half-circles in that 8k bank which are joined in the middle by a straight line or another blob of solder. If you've ever seen disk drive device number modifications, its the same basic thing here. (But if all this sounds too complicated, let someone do the mod for you.) - If you find you now have a RAM cart that has a row of DIP switches to control where its memory will be "seen", and that cart has a fully plastic (not metal) label, you can now consider cutting a rectangular hole in the plastic case to allow external switch-changing. This is so you don't have to open the case every time you want to make a memory bank change. (The metal labeled carts are harder to cut, obviously, so you might consider swapping guts with another cart casing, if you like.) The hole needed is as follows ... but note that I'm referring to the edge of the cartridge's LABEL area, not the outer edges of the plastic casing. Put some masking tape over the label (to preserve it) and write on it, to mark where the hole must go. The bottom edge of the hole is 5/16ths of an inch above the bottom edge of the label. The top edge is 1/2 inch above that. There should be about 1.75 inches left, from there to the top of the label area. The sides of the hole are harder to measure, as you'll note there is some subtle inward tapering of the casing and label area, to allow some rocking motion while inserting/removing carts from the Vic20. Measure from the exact left corner, inward 2 and 1/8th inches in. This is the left edge of the hole. Measuring from the exact right corner of the label, come in 1 and 15/16ths inch. The hole should be roughly 7/8ths of an inch wide. As with any hole-cutting project, start out smaller than the finished hole is supposed to be, and move outward carefully. A "hot knife" or dremel plastic cutting wheel will do this job fast and neat. - It is possible to make your RAM cartridge "look like" ROM memory, at the flip of a switch. This used to be a popular feature of various companies cartridge expansion port chassis', to allow archival images of programs to run in RAM, even if they are protected and would normally over-write themselves if they were found to be running from within RAM memory. - Make your own plug-in cartridges, using bank-switching techniques, that are much larger than the standard 4 banks of 8 kilobytes each. I just saw a posting on Usenet, that referred to someone's having made a cartridge that used 192K of EPROM memory, along with 8k of RAM memory. (So much for the memory limitations of the past!) - Besides creating new things from scratch, you can also modify existing ones. There is nothing that says that a hardware project has to be one made from scratch! One beginner-type electronics project: the RAM carts made by Commodore came in 8K or 16K variations. But if you open one up, you'll quickly see that the PC boards are identical in both versions. The 8k RAM cart is just a half-populated 16k board! I have not done it myself (as I have 16k and 32k expanders already), but adding the extra 8K looks easy enough, if one had the right parts and the need to do it. - It seems entirely feasible to make a "fastload" type of cartridge for the Vic20 ... that is, one that "disappears" part of the time, leaving memory in a non-expanded state. One possible application example might be to, as I said, make a "fastload" type of cartridge; in fact, years ago at least two tape accelerator carts DID once exist (Arrow, and Vic Rabbit). - Other possible uses for a cart like this might be to make a cart similar to the "Game Genie". In other words, where cart images loaded into RAM memory are modified byte-by-byte, in some pre-calculated ways, to make immortal or "cheat" versions of certain games. Or best case scenario, all cartridge based games! Imagine adding level selects to 15-year old games? It may sound silly at first, but what a hacking trick to pull off! - Memory dumping carts are one other possibility ... by that I mean carts similar to the "Snapshot" series, "Icepick" or whatever. These would be very useful for examining memory usage, testing RAM carts, etc, etc. - "Multi-carts" are also possible. In other words, many images of cartridge based software programs can be placed into one or more very large EPROM chips, in one cartridge casing. Modern memory sizes all look huge, when compared to the miniscule memory sizes of the past. One example: a 28-pin chip exists that is *almost* a direct pin-for-pin replacement for a 24- pin EPROM memory chip. So, its *almost* trivial to make an 8k cartridge be a collection of 8 x 8k games, or 4 x 16k games. Much, much larger chip sizes exist now, which would allow a hundred or more games in one cartridge casing. Of course, that's no longer easy, let alone trivial, but it can be done. It has been done already, with other gaming systems, in fact. (See the pinouts and notes below, for some get-started info.) - If you did make a multicart, one easy way to control all the extra lines needed for bank-selection and addressing, would be to use the modem port lines, with a cable from there into the cartridge. Sounds silly, perhaps, but there are already 8 user-addressable lines there, for input and for output, so why get fancier than you need to? This port should seem very familiar to C64 users, as there are a lot of similarities there. To use the port, as on the C64, takes only two POKE's, even from within BASIC! - Battery-backed carts used to exist, years ago. Those should not be too hard to make again. In fact, some RAM carts have such large capacitors inside them, that once you load a program up and turn it off, it takes quite some time to get RAM to clear! (I thought I toasted one of my Vic's one day, after a soldering session. But I figured out what was wrong; all it takes to solve the problem is to wait longer when power cycling.) - You tell me? There has to be more ways to use this part of the Vic20.... So with all that said, I'm going to launch right into the technical specs and such, and let you play to your hearts content! I'd love to see an article in a later issue of C= Hacking, that put this information to use, and showed us all exactly how you did it, step-by-step. Go for it! @(A)diag1: Pinout diagram #1: Memory Expansion port connector of the Vic20 computer Below is the pinout diagram of the Vic20 cartridge port, or Memory Expansion Connector. Please note that this is NOT the pinout for a cartridge that might fit into any port, nor is it a pinout of the User Port, which is something completely different. This diagram shows the cartridge port's pinout, as you face the rear of the Vic 20 computer. (The port is on the Vic20's left side.) Bottom side of expansion port. Top side of expansion port. (This half is on bottom.) (This half is towards the keyboard.) (This edge of the connector faces left, where the power switch and the LED are.) _________ | ___ | GND A | | | | 1 GND CA0 B | | | | 2 CD0 CA1 C | | | | 3 CD1 CA2 D | | | | 4 CD2 CA3 E | | | | 5 CD3 CA4 F | | | | 6 CD4 CA5 H | | | | 7 CD5 CA6 J | | | | 8 CD6 CA7 K | | | | 9 CD7 (Memory Location:) CA8 L | | | | 10 BLK 1 ($2000 - $3fff) CA9 M | | | | 11 BLK 2 ($4000 - $5fff) CA10 N | | | | 12 BLK 3 ($6000 - $7fff) CA11 P | | | | 13 BLK 5 ($a000 - $bfff) CA12 R | | | | 14 RAM 1 ($0400 - $07ff) CA13 S | | | | 15 RAM 2 ($0800 - $0bff) I/O 2 T | | | | 16 RAM 3 ($0c00 - $0fff) I/O 3 U | | | | 17 V R/W S02 V | | | | 18 C R/W NMI W | | | | 19 IRQ RESET X | | | | 20 NC NC Y | | | | 21 +5 Volts GND Z | | | | 22 GND | --- | --------- (This edge of the connector is on the right, where all the other ports are.) Pinout Notes: ------------- BLKxx = 8K decoded RAM/ROM block xx, active low. See chart above for area. CAxx = Address bus line xx CDxx = Data bus line xx C R/W = Read/Write line from CPU. (Read = high, Write = low) GND = System ground I/O 2 = Decoded I/O block 2, starting at $9130 I/O 3 = Decoded I/O block 3, starting at $9140 IRQ = 6502 Interrupt Request line (active low) NC = No connection NMI = 6502 Non-Maskable Interrupt line (active low) RAMxx = 1K decoded RAM blockxx, active low. See chart above for memory area. RESET = 6502 reset line (active low) S02 = Phase 2 system clock V R/W = Read/Write line from Vic chip. (Read = high, Write = low) @(A)diag2: Pinout diagram #2: A standard Vic20 cartridge's card edge connector Below is a pinout diagram of a standard Vic20 cartridge, seen facing its card edge connector. Please note that this is NOT the pinout of the port it plugs into, which is shown above. The two pinouts are exact opposites, because you are facing the port head-on as is, but you have to flip a cartridge around 180 degrees to be able to look at it head-on, facing its card edge connector. Bottom side of cartridge Top (label or component) side of cartridge _-_ GND Z | | 22 GND NC Y | | 21 +5 Volts RESET X | | 20 NC NMI W | | 19 IRQ S02 V | | 18 C R/W I/O 3 U | | 17 V R/W (Memory location:) I/O 2 T | | 16 RAM 3 ($0C00 - $0FFF) CA13 S | | 15 RAM 2 ($0800 - $0BFF) CA12 R | | 14 RAM 1 ($0400 - $07FF) CA11 P | | 13 BLK 5 ($A000 - $BFFF) CA10 N | | 12 BLK 3 ($6000 - $7FFF) CA9 M | | 11 BLK 2 ($4000 - $5FFF) CA8 L | | 10 BLK 1 ($2000 - $3FFF) CA7 K | | 9 CD7 CA6 J | | 8 CD6 CA5 H | | 7 CD5 CA4 F | | 6 CD4 CA3 E | | 5 CD3 CA2 D | | 4 CD2 CA1 C | | 3 CD1 CA0 B | | 2 CD0 GND A | | 1 GND -_- Pinout diagram #3: EPROM # 2764A (This is a standard, 8K x 8 bit memory chip) ____ ____ | !__! | Vpp | 1 28 | Vcc (+5 Volts) A12 | 2 27 | PGM (Active low) A7 | 3 26 | N.C. (No connection) A6 | 4 25 | A8 A5 | 5 24 | A9 A4 | 6 23 | A11 A3 | 7 22 | OE (Output Enable; Active low) A2 | 8 21 | A10 A1 | 9 20 | CE (Chip Enable; Active low) A0 | 10 19 | D7 D0 | 11 18 | D6 D1 | 12 17 | D5 D2 | 13 16 | D4 GND | 14 15 | D3 |__________| See the notes below for some tips on using this as a replacement memory chip, on a modified cartridge body, for experimentation purposes. Note that there are differences between it and the standard Vic20 chip below, that will have to be accounted for before it can be wired to the boards. However, a rare few Commodore-made carts came wired from the factory to use standard 2764 EPROM chips ... if you can find one, it would be easier to experiment with. (And I do mean rare; I have only seen two, myself!) These special carts are in brown plastic cases, with metal labels that have no name printed on them. Instead, there is a metallic sticker stuck on it, with the name of the cartridge. Apparently, limited edition carts. Also, a few later HES carts I've seen also came with EPROMs and sockets. But be careful, as various early carts sometimes used 2 banks of 4k each! @(A)diag3: Pinout diagram #4: "MPS 2364" ROM chip (Commodore-standard, 24-pin ROM chip, 8K x 8 bit.) ____ ____ | !__! | CA7 | 1 24 | +5 Volts CA6 | 2 23 | CA8 CA5 | 3 22 | CA9 CA4 | 4 21 | CA12 CA3 | 5 20 | CS (Chip select, active low) CA2 | 6 19 | CA10 CA1 | 7 18 | CA11 CA0 | 8 17 | CD7 CD0 | 9 16 | CD6 CD1 | 10 15 | CD5 CD2 | 11 14 | CD4 GND | 12 13 | CD3 |__________| This pinout was derived from a Vic20 schematic, found in the book the "Vic20 Programmer's Reference Guide". (Great book!) Please note that while this is an 8k-by-8-bit Commodore memory chip (its actually the Kernal chip, located at $E000-$FFFF), and that while it could normally be assumed safely that a company would standardize and use the same chips in their cartridges that they used in their computer's motherboards, this is Commodore we're talking about. A bit of paranoia might be in order. Having said that, I'll note that as of this writing, the author has not compared this diagram and an actual memory chip from a Commodore-produced Vic20 cartridge. 'Nuff said! Information for the diagrams above was taken from the Vic20 reference book "The Vic Revealed" by Nick Hampshire, 1982, Hayden Book Co, Inc. That info was verified by checking it against information found in the "Vic20 Programmer's Reference Guide," 1982, by Commodore Business Machines, Inc. and Howard W. Sams & Company, Inc. Other references were checked as noted. @(A)notes: Assorted notes on the diagrams above, and some related subjects. You are looking at the cart pinout as if you were holding an unopened cartridge, label-side up (or right, in these diagrams) with the gold fingers pointing at you. If you are looking at a bare circuit board once it has been taken out of its outer plastic case, the chip is on top (or right, as shown here) again with the gold fingers facing you. (The diagrams were drawn sideways, as the ASCII drawings are somewhat clearer this way, believe it or not. There is less confusion this way over which pin is which. Horizontally, each name takes up more space.) A perhaps useful experimenter's tip: If you plan to take the circuit board out of the cartridge case, then remove the ROM chip(s) from the circuit board, mark the two sides of the board first, or you may no longer be able to tell which is the top, and which is the bottom! This is especially true if one is removing chips to install sockets. (Any magic marker will do; just write "Bottom" on the "green stuff". Do not write on any exposed metal surfaces. For experimenting purposes, it might be handy to find a cartridge you no longer care about, desolder the existing ROM chip from the circuit board inside the cartridge and install an IC socket to make it easier to change chips, later. However, note two things about this. One, the socket makes the whole thing taller, and it may no longer fit into a standard case. You can either (carefully!) use the new circuit board without using its outer case, at least for in-house testing, or you may be able to cut a "window" in the top of the case to clear it all. Second, some cartridges don't use standard IC ROM's, so try another cartridge, until you find one that does use a standard DIP package. (Some carts are more "rare" than others; try to use a cartridge that isn't super-rare, when cutting and hacking them up, please!) On all the Vic20 carts the author has opened and seen so far, the ROM chip inside has 24-pins. Standard replacement EPROM's have 28-pins. This creates problems, but not insurmountable ones. It is a bit of a nuisance, but the dedicated experimenter can modify a 24-pin circuit board, to accept any 28- pin standard EPROM, such as the 2764 package. If one did not want the hassle of doing this, one other method exists to be able to put your own 8K eprom chips inside; however, it is not cheap. Motorola makes an 8K EPROM that is completely compatible with Commodore's "standard" 24-pin ROM chips. It even works as a direct pin-for-pin replacement for the 8K Kernal and Basic ROM's inside your Vic20 or C64; the author has replaced both types in the past. The part number for this EPROM is MCM 68764. It was about $18.00 each. (Yes, it is programmable via the C64's "Promenade" eprom burner too!) I think I got my 68764 years ago, from Jameco Electronics; try them. A 2764 adapter circuit board can be made to adapt the differences in 24-to-28 pin sockets, but it will likely be too tall to fit inside. This Motorola chip may be somewhat hard to find; I've been told it is no longer being made. (Try the I'net, for one.) The memory area located at $A000-BFFF ("Block 5") is normally considered to be a ROM-only block of memory. RAM can be mapped into that space if you modify the cartridge's internal switches/jumpers, to redirect a standard RAM cartridge to load higher up in memory. However, BASIC cannot normally access that area, as it is meant to be for ROM's only. This is important, if one wishes to archive an 8K autostart ROM cartridge (normally located in block 5) and run the resulting ROM image from within RAM. It can be done, but you have to modify a standard 8K RAM cartridge to do it. (Ground "BLK 5", and cut any trace or jumper that tells the cart to load into a different area.) Note also that some carts may be copy-protected, and will not run in RAM without modification or "training," to alter the copy protection. Some carts that have copy protection coded into them, try to overwrite themselves. Some carts apparently use a more sophisticated timing-based approach; they know if you have just turned the machine on, or if you've been loading an image up. A few carts use very subtle methods to protect themselves from being archived. Trying to relocate a machine language program from the memory area where it was written, and intended to be, and to have it actually work afterwards, is not advised. It will not work! At least, not without doing so many difficult modifications to the machine language object code that you may as well just start over and reprogram it all from scratch. For most people, don't bother trying. To me, the idea is to get the real actual code as written, anyway. Similar problems confront the user who wishes to archive a tape or a diskette- based original. Trying to make a cartridge out of it, isn't worth the huge headaches. You are better off, in this case, trying to archive tape-based programs to floppy disk (which will still require a little modification, but not as much), and floppies to floppies. But if you can do it, more power... And last but not least: on all the NTSC Vic20 motherboards I looked at (4 or 5), the BASIC memory chip is labeled "UE11", while the Kernal chip is labeled as "UE12". My PAL schematic lists these two as UD5 and UD6, respectively. The Basic memory map area is at $C000-DFFF. Kernal is at $E000-FFFF. The only other 24-pin chip is the Character Generator; its 4K, not 8K. ========================================================================= @(#)next: The Next Hack Hey! We just filled your life with hundreds of kilobytes of reading material and you have the nerve to stop at this section and inquire what is going to be included in the next issue. I just don;t kow what is getting into you folks nawadays. Back when I was young.... (Well, we just were happy with this issue). I suppose if you must know, we'll note some of the juicy parts of C=H #16, just to see you squirm in anticipation: o 3 Dimensional Graphics is a hot topic in the next issue, with Steve Judd finishing up his series on 3D graphics routines with a library of function calls to implement 3D graphics. o Pasi Ojala graces your eyes with some inspiration on data compression, with help for those who have to fit their 6kB code into 4 kB for the next Driven 4k Compo. o We'll show you how to do a culture transplant on your PAL VIC-20 and get it to talk NTSC. o OK, readers, line up single file as we discuss making starfields for your next great project. Now, go collect all the items in Jim Brain's CBM Products List. Call us when you have them all. ========================================================================= @(#)code: Hacking the Code Being a technical, developer oriented magazine, some articles featured in C=H include executables or other binary files as part of the article. All such binary files are included on the soft copy of this issue in this section. In an effort to retain the integrity of such binary files through distribution over various computer networks, the binaries in this section have been encoded using the UUcode format, a popular Internet binary-to-readable text encoding method. In order to execute or otherwise utilize these binary files, one must feed this section of the magazine to a UUdecoding application. Typical examples include UUXFER for the 64, uudecode on the ACE OS for the 64 and 128, and uudecode on most UNIX OS machines. Some encoders can decode multiple files, while others will require the user to manually split this section into individual pieces prior to decoding. In addition to this section, there are other ways to retrieve the binary files featured in this issue. For those with World Wide Web access, the files are available on the Commodore Hacking Web Site at http://www.jbrain.com/chacking/ as well as on our ftp site at ftp://ftp.jbrain.com/pub/cbm/mags/c=hacking/ For those with electronic mail access only, the Commodore Hacking MAILSERV server also contains a copy of these files. To retrieve a copy of "dim4.lnx", send the following email message: To: ftpmail@mail.jbrain.com Subject: FTPMAIL Body of Message: open cd /pub/cbm/mags/c=hacking/14/ bin send dim4.lnx help quit For some articles published in Commodore, the author or authors may also have other methods for accessing files mentioned in the article. These methods are described in the respective article. Commodore Hacking always attempts to provide the reader with as many options as possible to retrieve uncorrupted binary files. Although none of these above methods is foolproof, the added redundancy helps overcome any shortcomings. WARNING: The UUCode format translates files from binary to ASCII, not PETSCII. Therefore, either decode this section before downloading this section to a PETSCII mode computer system, or download this section without translation to PETSCII. Some decoder programs can handle PETSCII converted UUCode files, but the practice is not recommended because conversion is typically done in a telecommunications program and accuracy in translation cannot be guaranteed. @(A)dpschematic: Schematic for DataPump Plus The following GIF file details the schematic of the DataPump Plus cartridge. This graphics format can be viewed on the 64 with a tool like GEOGif or vgif128. begin 644 dp.gif M1TE&.#EAL`-D`8```````/___RP`````L`-D`0`"^XR/JS^OW?-D\X(;7-TAX\:=V M6*BXR-BX]MCF*,F8J/`WB9FIN55)M_D)UWEW"5IJ>CK4"8C*ZE5)VAHK.RL' MZ4F+&Y4(F]OK^VLXVB8,7$PT6H?,:\S<[/P,'2T]37VB?(V=K;W-W>VM7;GZN'*Z^#K',YDAL.\:;?WW$&">GSIN*9!KUIH%A#Z7J0F(D2D7H2)X].SJ`ZLJE5E!, M=6!EB@QHA+##?C[H.LVIU;5E)R*,D6XJHK>1-K*E6O7659]O'P[<%;=#8+UT MB(D4*G*2TL%\T;:C*_:J35N.SUH-";$R,[*`(#^\K)/&J[IJ@9*]AE>T8<93 MY0ZC3'@DUKUKNV*^V[KS3\Z9;$[D(L?2_OQ6+/*VYEO"/6H_/GTZ]M'_$U0.WS5 M?;,WO@]@@`(.2&"!YORG2GG>@<#89*3%IIN!$DX8TUF^D,>B;CURIU(%OFTE MY&7`6;A.30O(F`QNM0R'H9.90?8B3)[I2%&4"T;G'Y:AG3=4<0LYJ)>6-UKF M9(\B'G0:E9*9Q=MR21XI8V%PNIG2>R9264^&53ZI9IW)W(D9>R[F9^=?ACU% M')A%93DCGF]J!IV8JMT#'%AF]/GEGZ)UJF90C::IV*$FC$CA.32Q>6*H`IK2/W7F,25[7*4Z4P:66HEI>ONN9F4(K5[I6-"HPTKR*UP8@*5/G.OI MRJ&IK02)F[36"K83?M+.2J2Q-=P:&&^[(<>:KQ=&NVBVRI[IB&W=QO6MA?7" M6Q*9*[Y&0:9$-=O+NKJVYB\.F79)ZG_B\C>D?Z/=0F,("K)X6Z`B#NR*I')Z M27&LRR*+9*//%;EEO]L:(VC"+6`+[LD+CXOL9!,3=G)B!]L(;D$:+^EAR19P M2-P\[=9!X7ZK=-123TTU.@B&&5NK.$ILKJ&@$5QUV$L+ M&_/.K%)J,MFKX(RFT3^[#$S*'SO=7=USOVQ$B4?.N%V-;G.\-LAC8ASRDFHW MW;;A0OOJRR^^BF?]=C@"-_QWSBEN29W=$<*-]^.D,GFFF33[_2"1%7^^$>?' MF,VSW0TR]ZX;*IW7IA/X48J\/"P M]XMNF]TRVOI*QQ_#+<^+G1T,\)5>G_VJ(WM\!6(Y(F\-\7>3X2'1FT8'_@:H MBHV?/4.W^+[K$*.?ON".YR\[MLFC>_1#BKJ"H+M??`9G\0."^03(/P\P[GEB M0$RZOA`?!UH++4I:'.[ZU,!&V&1O?OG@N-(!&(Q9D((1+!KJSL:1MKAO?=-" M2`E_M#E-:8Z%."E6#OO!.NZMAP/DH9,+9_B_XI&(7OM7ZIMK;""=K9F&7YR6P=XD[W;MR6YF4D10)T\)#H0AL9%8"X8BE\?"AUV1.4QCY27W M!48:ZO%8G^PC+KL(R%^6,H^$]&&@_I+'[\T2EKK;4;G M/^U!:@QHL?9D\B06P=()<7_U(\C-$[:^9M@35,IVWN;?MYH)>E!QEVH=% M2ZK`B/7BU""YF3KCW/SJ1_F$G#CAZ2,9_N99`+2F(>,ISYUMLYYEK&9O7LB^ M-UJ45J716CLQR%!Z&',I<.,D0*2IOE=52(U!!.@B]T,PEHP4G1Z<)`DFF@*< MCH>9'YV"/]GI4OTQ4*8NS&@Z*\H@B0C19"8L$J4G,@_XM M-6(&36>UWFFZ.MHLD7BA(UB!BD9S,A8TW[ME>J)JT*+6BA(HG*V$ZJEG4Z(TD3[B9&V MO.VM))>76_>)DE602RT,?4M;W6:II66";&N%Y:=Q9C.@E;7M925H,>!R-B!/ MBZPPM>JN._H,J&A`;78_.2E]*G%-WFTF7EDJN8+Z;K6A+8$1'3DLJ:IWN^`= M)73=V5_E'+:TFVV">?$;W<0]]X!+O=?MQMK6IO`NIDN%*$R":>$T=8B_EW.= M71N+V?HU-;^8.+`AF1NKJ;(1J:N:KTC16U\.)X6HS)KI#E1,NTB>%'>>U>!* M20QC&>MU#P5F0GPV>=,B.S5)/58M%'KF9"%_""0E)@0',%$B`>[K_B#5HU4'/[3OSA4,GO#:2<*QSE,KN6R%76V4N[ M;-M5+IDG=!3T"T@)XACK.:=G%B&N?@KH6D+07LBM-'TD3=XAPV>M\K*TIXW2 M!24[L,^/_C-04]A2'*.,:7$^M&G\V&3[A;K1E$CSX8X3JL>^6;[4NQ&=Z0M: M7P?-P3OR@_#20.M%B%J#"OMG/]W\5#M3&*'7E:`-VW5>!4O#KQWEW+)]\.TC MA)O%Y`Z6B]&J;1+!@&6:QA6I!V=33!DJBV$`(8JOM>XU!SA9BGD4`L;)4JE=E]E*"956_H0F^ZY]GGL.[[M,L&]9U*`]Y[?KETPVC*4.I]*O3Y(Z1*6PD@!JC:[,\ MOHT]^QDCO*%_U-X2JA4MM)>;I/&(*B5IBB6Q[P[YGU?[?JQ??-,]Y\VA@:"G M$JZL=8P[G+J23W?C'6_L>6><3W+GO"8*//^T^R^WG!C](<5M?N64>I&G/&BG M=ZP%#:UV5\`&,[MG9X$%6-OF>1/E38!#;[J``KQ6!`F62[QW8_"@?0KF493% M=JS&2S_7@?97#/C7)*.'+X'U9$HG?;K`=%9G@O?BE7#J8 M@XE'0%3W0P`R7?IE=WX@@QY8!<7!;ASW>5E&2T(7@BXX@GS%#J%7<'*RA'_' M1^73A"KX9"S#@=YQAMVW1&)%+1R3AO9U30_H63`X"US86=#VA>`$2CTT;%^X M(=.Q468U4J%&!%8 M93HM:&2.0H4SR'W35WTMPWQ2,HG+=U8A^'R@>(=7Z!5()F_S MUT0`^&-A]'V=IXJGUUJZB&,#^'%]^&`MV(@9"(HVV%$`^&^E*'"GF&NI^(NZ MAX>V*(P!)W[0)8OPDW%/ARK$!(+K!VX-5X"/5W[.:(S6<79@*SZ2(,&62(463KP>013=VI2>$2]D-[_AK MF`,U3.E;4-5N>\23I,$:$A*$Y*`GMI(C*ZE.A-2200A;Y'B/W`B$HI9:`G26 M44&5;@=N79:'5F9?&AXD"E\M9;P^F*%\:;'IF;:JB<_$7)G&-8;Q*(F%798=F6B:TY?M:0 MG.(VG=EY4>#W#+3IG2FRBPL"FU`TAL")GK.HGL_9G<')`P.%G=SE:,M9GW!W MG\W`GIX9;PFCA/09C*%PG@&JG1XGG/E)GY@#4N0IB>8)H!D::G_9G]>YGAYZ24-)G+*B6Z?9?`4I?`&(HDG'%/Z0^?G;MVUFO#G7.V7:/`(HC-:I3TZFLZ"@E=ZG*=BFBPJ>NE1 M2'?I(O$);_SKF'<3AI=G::4&UJ7N28S&!Z1U:G@7B#UH:1>%A$LCF*8?D3)D M0JD(!*<+Y8Y"^J!;NJ0FV'K<(I6EJBT1*)1OVJ1QVJE\)IIYBGN.Z)5(J9F$ M%B,N<2*$NJG$QZ2>^I\,:FI8U8JJ%WL`]G>K-!J/].J88 M^JX!&Z_A"B192:Z;IVNJAFW@<6\&VZM).6SENC$X&88PA*;\]*FO9`JN+$FP M1*EAW;J!*<:)V3B0V'$1>BFR$_HX>VJL##9'[PF>0WFN^HF?S4JQ1!M\PH2S M*R.SADA9'_F6?$LNKC3L[>;A_^2B?=9=3"DLV=VD\B.6R ML%HW3O>1E8H2H)-+*.NUOHBT/\F,7M*770LTR(FV;2.9XABCH+JFUJJ)0+>9 MDJ:!`-NB*XNY[`6YM,=(#^NM_&\;/LL;K;89IH/(4=!JC7J[;_AZHHP;NZDY M>T7Z:/SJ*=Z[C09GM-LKN\%;DU)J7\K8L:R9H[A@OOWXK>F;O#2[HO6KON`[ MA94[O_2+O7%SJ$&JOW>+P#[UN>$+P`%V[ MD^Y;:Q=,"_R+FNBKO?E[8Q>+PB#\"2(;Q(P&O1G\ MQ&))OMEZ@2Q\Q4W'"@7:NU<'M!7\J]6KKM(8B1!7\%7+IZ#)[-R[Y/^&YI M`'QR);K?V;8=XTMS",VX;*G3 M[*\NTY@(NL15S*@[S*ZALYUQN9^PW$UR:,EO7&TVZH:UNFW%F[2D9S3P3,K! M3*?8^\OX2+M,O)_B?'%D]H*+W'-4VU M#>V[#VVH/>UR,8W&JZ/&H-G).9O*.GW++VW53=VUZ8IE&/>08=FSQPO67D9_ MK=R`=RS$]BS)3!W#'5S/5+V7[%9R=772VYI=9BV_=LK62AVQ:0W36\VPLPPI MH5LXMCK6%OV\0PK$5\W2,JS5$\W5$!=1VT./ZT1IXTRW)HN&":S$.1W9[>'& MF`TK3OW73SW/B&T9VK$A4SVMNRS+F?J'L[O8L.O$X0S9@:W([;5E+5O3MH)U MVOR,%&741SV0J=3/_"O:N4BLL^OHQ[Q6R%F-R(IRS.5:+OR!U4WB;>V",MCHE* MEA\,B%/>I[3(K<-=VWF-WP,^SV)HWEV>W8^MS&1^L"$>QXO:X+2-YOS[%F[R M_>9OO>0IS1Z?MEW#N+6O&;$AJJ:&(X_.%QY[N=2**M0J$;- M:'5+N^AR^LA?KN&O1L4_?CZ*PMYK#N"3GLK$7*N9H>6C#NI%W.I^![(8'I`N+NBOTMYX+%6*+<5K'=L8&RG.<G7Y#'EOB`9O'O.Z<2'?^X.FNXMS63>E\WL:"FH+=#1AC/.ZTSH$:1[FX MCC@&+X@I9^!P/E@0&,\F(29IH#\_C4S7,Z11,0-?ZY$A5Z!ZTW2MC[P MIWZ&7:.2+VQO;I'R'W[C87[KGS6R42JI9QZ'="CG6HKI""W>[&[:GZ[LM6[F M?4Y#_S(8*@I]`4*.$OT2:30DZM9\;/V.POFB\AC=C_9 M`0[NTEM&AJ@[Y%9OEM8+L=YJ)A:[CY\OF20WS M!$_$#J_D]*WFN:?XVY[.5ZSF)0_J.4^TAE]IC*]2?-^+/;_,Z1[Z;@[WP!O# MB%^"J,[&^W#-^VH=_&HZ\5>;^TP.V'?6TH5X/!WMZNAW^EX/^UA__`1^UL4_ MZ<\-9K8L;>AM1V#/-G'T\C^O^MG_^28\_!ZA_:8/D^`3SP>N_#Y_^]1?_<\N MQ]B_Z*4J]%8 MGFD(N.]:1]IV07VO2H_W.RF".^52E'0RH5'IE+E*2JU4[9;;=>%RWI$/R#H> MKJ1,%FVB&,7QZ-,MW['!:?M>??:R^0(%!VGT")$P<-#`%A5C`,T:&2G"$`\O M52PT,;^.(#E!;?(,ET9)0U%3XTXQ655M7F,MX6AE.3[?^VQU7:%X=1],@X6' MB8N-?7^+DB.7;YM5Z6J?'2`=IU&1E;*OF4,KN8&;MW_'P7LWI`UK#W\/_!;)8\:P4'1VAG,@LN@'(&/&D8`4F91"D`7&%*Z MPZ[#FB;B(B8,^0>=2(+W6.@;Z5#00W)^F`VQN"X7S!\N$_K*.`$GEY[>5K*L M8S)HT99'C=JDB''>*)H7`5HX-M4I39XGJ`8#6?1G4F=#;8++.I9L6;-4D?+I M^JI:S)D<<['Z!F-G0:M&U[;RZK-D6&YY;0'.%$@PT*<4^ZQC*F&N#(__X#9L MW&UDX;UVTT4&946EYLN4^ZVBK&$9\N3J,+/5!#Z MO?0-%^E407CK%I)VK^\OQF^7)H,W.9:^=SE=(=*\9FW0$`G?/KN=NVSJ)*MK M[CY5#/+FN:'KQ3K9?/3G*2VW9WQ\?/VJW_$_NN]92ZGI+K3%* MY&T2$27JS+H+:9SG04^DH0TL"VL<;D<-#WI1Q.DXFNNQMCI1;+F*Q+N)-1D= MW".UV&I9K(T49QRPQRT[RNFZ)7_DB\LD,SMP&B*K0^P-)%5,LTJWM-Q"_#Y@ MH!2E+QU#L_&J,4.R;[M]A#0R4#`'XM,>`_U,5-$>4E/3##;M:?3-2!A=U-)+ M,84Q3PDQFA*6.H$T])HY`WSL.D2DDU+4Q,KLSP\T%X())U,]0PQ/,[L@5:JH M8KS3"%IY)3"U0[ MIPT/3U[J/8%\,B!PR\.%^I0$_S:[:"3D19? M/*J5U<H;'X7__#\^>DO)AQU<[Q%=M-]_6A- M;%_7%>C!+FW[G2,=[;RGF&K=2CWC>]QY9B&L907O4-Y6'-% M\YHR*?]IQ%KTJN#*6D>-#>:N"HEK'YP^EQT'/G`VK4K6J8[TPFNM[X6-@98! M;Q;#WX2N&^,J'."0(2@ALI!]4-M@7I:XJS&0J1=:L]OZ3L/`#1B4Q7LWQ62>/9RY'404B%-!G* M&B)RD(H4Y>LL5KOT]8U;XHI4V0`5F2$,"5&GM&7'J'C'3-K\$H]T61M[G@-, MS5W.A3E\RGLD=TME;N62N-GE*7OYL1_E#5A35!SFCAFV96ZS=Z2LXB3!&<7Q M1;.`]4'FI'@XPFQBDX*)\!,WX;G%9L8SE.24TSFOJ46.K1.#[>0=/0&ZBUQ6 M#7YZ,Y%30%FI@);'5:VL#=8NJ)&!`C`N.F0=*!>:455Y$RRG@=OR$O$JC=[S M),3;G/:>!+Y(EO%]W]M)$D<:4Z',MZ$5&F7)T5`H\:7%*LU.?A+-[ MHZ2I"CO#CUE.Z(Q)W910$7C(BG[(CV#3&5&'H1]H2/6CZ/AI"'%Z34X)$JHW M;20[OYH4Y$H86#1\JDU,]:W4P'\&*W?TVZTHL"3"#@$VL M[U9[+GMB4IO$Z^Q1V>G7(K)L7JKU9R2+]T'^[1%OL.26=9&ZJ.)>KRP$6VYR M6X%5]6*T0P6=JO"B)US;OG&]]7TG;(M86;J]=VI44JPX#VBJ3EF/P"B\+0&9 M>V#T+IA'"&Z?/F=;JKY.5YLJ`R^%"4R$:M+IMYY5IZWRU44R96/#E@2D?A'' M^V`5"]:F8K4KBNIP86A]3;<]9&1*`AC:5,45O"X3,7T\Q]#1JA)_*S:R5:=E M6,3B]H$5TI=[(3LRR^Z53P M.=FE5F1RHC5JZ'-`FM()'G2E,7WCR&::TU&]=*=!S6:BA9K4=?YTJ3$MZ3RB M&IZ436VA%,SJ97(-OA"4=:OE^^B_G?K6E=S;:*K:ZVU>.-;QT+6PX_Q/%@,5 MV\S;]G:WBTUN!_[Z MW,H>M;JI;3;RQDO:\';WO9O=;X.@%.&L+CFR")SRP M!]\(PQ5^7(@O=,;/&HV5K3WQ>,]9XS0>,,BH&Q0H#J_C`'5XR6/!U*Z*NC(/ M^S'*>0GS>GXK*DK+'-MZWS,-%_VR=$]LY#S?(9`)WIZ)5IS_CC5-BYO M\=&A"?6B^SQVO"*B,,]T<2-)W=E<'R?5A5XZ=VO9ZZDN>R#)0E]+6:?11I?X MV5?K=K@'O5-/&F&JNG?+? M'?MXCN^Z[EBF^^%?QVZ8&`%X[\,^*U2R'%Y'4ZI*XR(20LT=/-._O+//J]SK MIQK=QB[N*,9%E M?SL`YMU]FL/1>7!UV3VX4"B("YY3?"JZ/1"L^;R]XTIZ/J:ER>_RA;6_WR>>^0#%S@I!NS_NH+>M@+_,T@=V`!_F>ZUA:CHY0!.P,1[7V3P`%*EI2K[`&!WS2*3C8;Y4N M:&O.!F,8HL1R+?9(KP!G[^TBK/*\K/;JR,X\\`,#4'^DMC3NN[GDWQ(";PEC!ZI+#*XN]N0L3QID_)KA#_[`#\.BJ!-J^TN@^TE*7Y M=!`)#T$,V7`'9^KFGB[=P,JNY(^_:.\-&TW>G`1M\H21:Y93,8V?@HPSM"J7*H+.0\3VY`4 M^Q`,'XN9@M!](C$VW-`4@PH6FTZ:CE!H"@$$CTS.#&E+7E$6.=`QL,[6,`07 MC2S[>O'NCN@)=<\7+8VD:K&G;K$5BW'WKHC'1N_$A&]P.&LIGI$9CVC5),QN MUE!`HE$#Z8S8GFIV/&@5[R#C_.0$>8Q)]C;0&WE*!Y)IG8"/'$L../BOR?+G M\EYC%'$CCK9M!>F1%AL15XZ1VX3M>S:/"*7G6`Y,%RER+/P%!^?Q($-0SMC. M"O,Q#C6.!M\/(&'OSC11(.^(((L$_FI,(YD-[QJJX]+I^A++=N11TS0();$` M'CDKOI8Q5[3F7P",`N_/B3!N7U(0$+6(T1(O\1B+MO"""TG)N681&`GO(STO M\@)P!!>HT24Q,-).\-0"D_BX M;R5QS"0YLR/%:OX@C*L(JQZ?:2H;DS79$=)"2^%LS4CK0K5SH6\A+14R@JATL>P,/(H1(RV3CSO"K]$3BJA MZR6M\@NSD^[F,]ND$P[KTP3SD]SNTP?W4Q7_,^*P+4#UDT!#+1CUK0S[DPT7 MU$!3CAAM!#$?D_5XT$'ITT)-#D(STP!CTC'!!2LQE"%#=-TT]'$D5*VZ;"A+ M=$1CD47CZ1/+R8=2D\,4#$9#4+C<$0D;U$61SAS\E0XXW#,)V:QH4,E&7?&8 MC+`Z@V]'>;0-5Y3_J&F^0))(%;0.2:PXLRLXN8Y)FS1(R!)NP@TN<8Y*A_%+ M?65)-%-,CXY+N_1X+-*QQ*MVCA)$A4XI5TEDX)22T&KT%#`CSXY-VU0[/]03 MB:+B8,TD(=%')7&ZM*42E_1-Q;$H`Y41*Q09*#CZG)7*51)D9633M51O['_RA%5EU54<]-/EY7L\D]:5VY"R]0< M?576J+5\5O-:&3,A_&&&7&4(7=EJ#S=-7$37AN,7ANDE[YU6.T5 M'%D*WW:*Z5)P7*ON*J4#;51O`DDU4U-R2O+U%_?54NLNMO+K7Y5D.K6D^`HQ M_L`J,9456R=-7S/Q81&2?&(3G,-=*T*RU@<"00ZM29/E2 M'<_O_)RUW#X08:OQE1Q2%!'U,FMB1^4#1E"69FUVH@+L$`OS18=U97_T.Y^U M)"."WD14#I?6Q$AV;Q`P9I6+GV`L13#V,"FQ<"X"]U()%0LU2&UQ:^',_ZXP MQ3K6XP@V8"4U]/XK*.MO_JJT*+ET3N[Q4A/6#^%V9@\76LTU3(TJ$W%9(VNZS89!X0]$WR5YFO\KW%H=S)__=!33U,G7H5@^3;CP/-N M&H]R"4I@?5)W,?-8/Q8NR;=W_Q)8HO"RF-C"Q&0LYY"(;HQ*W\(LW?] MF)=$D:,%(_/_CO<1!4=T:VHWJU4MGS9=+Q0:/*KU<%#ZJ'-=G9%NXT)5SS.& M)`57S?1U[MEA"HE;31A!ZX_@[J9+*M#5\[9+TB(]? MU"J2O:0;^H"S_>?,N26U_C]RL5GRIAO<-D2 MAO=WK7?9_`).9@-45J78>R!PEL4V7$`/27_X.9N0<.EW?[$+1P!6;/%82CT6 M+^-QFF0H%EZI\,VQ(:9-J%0%UM9EP%/D'GZJ'4F>HVH)_^K&7\X2^N- MA)%ZJD=FH<\F*DJZBK>54<^V.G&8JL%ZYMYL7:R:_G3RJ\,ZK:=-U8)9K=VZ M3X#YB=]ZKNFZKNWZKO$ZK_5ZK_FZK_WZKP$[L`5[L`E["P(*```A_KA4:&ES M(&9I;&4@=V%S(&-R96%T960@8GD-#2`@("!'2!-:6YD=V]R:W,@26YC M+@T@("`@("`@("!0+D\N($)O>"`U,#`-("`@("`@("`@0F5E=&]N+"!/;G1A M2Y$NZ'I8BJTI2DB2BJ2DE2D`"JE M5*J655553)55)252N```/F6D(G$`"*4%Q4E$!=!YZ42B)2E2(I2Y+A))`Q6_ M____@``!G__YD``)D__)E__IE_^IE_\IE_PIE^`IEX`IE@`ID__)B``1O__] MH``%JH#UH``%O__]@``!____@P%$*E& MA1>I+846J4*%#:D&A0R@1JE*(`XDHO^E`LD"\";)_]`&('E'N%"IR0;0#:!* MJ0B"*0F!086D#5`')`44![`%1`B@!F`(J`AX! MWP'G`E(!ZP'``@4!M@&[`7H!U0(L`7`&C M`,F+"DC(``#]AA$P<```#@H*&A(0``,]84U+3 MF```X3.2DI(R``#X#(1DA``,`0$!````?L.9/)_#A``$AXR9$X0`!,=D).2$ M``3Q$W;$A``$\!A,Y(0`!#YCR9R$``0?$)&3A``4P&`PDP````$#`@/Y``#\ MAC-Y/X:$`"P_)B8F```!`?UE964``.,BYB0F(@``P$!C)FQ)```#`N(RDO(` M`,!`>`PF``"$3!1A/P``A(R)B8D/``"3DI(3&`\``(22!#/A``"$9`@, M^`````$!`80`,'GL/)G#?@``DI*3F0P'```$!.0D9,<``(2$A(:#@0``!/SD M3!CP``"`GYS)8SX``(22+!(>``"2DY"0D/````C[`@,!````\]EY,X;\```P M$!D)"0\```T)F9&1\0``A"(4(^$``$E)26PFXP```@+RDC+C``"%4@'>F@`0 M2$A/9#$?```2$I*2DAX``(5(&W@``$A(3V0Q'P``$A*3F8P'``"2DI(2$O,` M`(1$+$;#``"0GX#`0,```%+2$Q$0$Q(2DI*2,F+#``!'3$E)3,<```E)R8TE M_0``A2D![_\`TP#_OZ&_`!$(0A"$$(@00)!((*"00$"!X``4`$`(``"`"`$` M!`@`````````@```````````1$`13]42@)"(1\(``%$4$(""D!``D)"1```` MA(@402!($@$`@1`D!1"`P8H2!$$@1`D$$$"01"$1"("!0A"!(@`'BP,&AAYI M811)8Q8&%@:6<="1(BB0?SP8A(1`$`44#("@$"."``"1!!"!!)X6`1"0@`8` MP`1`%$(@"(@`!`(/`@*$``T"@0$2#`````H*!`0$D``#`0$!A``$X!`?$%8` M``````#_`(0`!'#X__A&````````_P"$``0!`_\#A``$P.#_X$,```````#_ M`(0`!`$#_P.$``3`X/_@1P```````/\``1Y0``````#_``"%``+@(/$``3Z$ M(0L^(``D)"8E)"0D`(00"Y!0,`!\!`0("`@0B``!X/\`N``!<(<@L``!`8<` M`<"'@)@``0&'``'`AX#_`+D`B"#P`/^_H;\```0?,61/A``<'I*2D@```P+S MDI*2``#'1,Q(3$0``("`P$#`GX0`%!\0$=,```,"PF(RD@``B``"(""&``(D M)$(````````0$/\`QP"((+@`B("@`(B`_P"Y`(@@_P#_`-(`B""X`(B`H`"( M@/\`N0"((/``_[^AOP#"`RYC_P#I`(@@N`"(@)\``0^'@`'XCP`!_X<``8"' M``$/AP`!^(\``?^'``&`AP`!#X<``?B/``'_AP`!@(<``0^'``'XP`"((/\` M_P#2`(@@N`"(@)0`%`<'!@8?&!@8__\``/P,#`S__P``A`$,__\``/^`@(#_ M_P``A,`4__\``!\8&!C__P``_`P,#/__``"$`0S__P``_X"`@/__``"$P!3_ M_P``'Q@8&/__``#\#`P,__\``(3_`.D`B""X`(B`GP`!#X>``?B/``'_AP`! M@(<``0^'``'XCP`!_X<``8"'``$/AP`!^(\``?^'``&`AP`!#X<``?C``(@@ M_P#_`-(`B""X`(B`E``4!P<&!A\8&!C__P``_`P,#/__``"$`0S__P``_X"` M@/__``"$P!3__P``'Q@8&/__``#\#`P,__\``(0!#/__``#_@("`__\``(3` M%/__```?&!@8__\``/P,#`S__P``A`$,__\``/^`@(#__P``A,`2__\``!\8 M&!C__P``_`P,#/__A@`$\/`P,+@`B"#P`/^_H;\`P@2"8_\`YP`"'Q^&(`+_ M_X8``O\`YP`"'Q^&(`+__X8``L#`K@`"?W^&@`+__Y``B`;_`(D`B#"X`(@@ M_P#_`,H`B!B(`(C`J`"(8(@#D`"(!O\`B0"(,+@`B"#P`/^_H;\`P@6K9/\` MOP`"(&"&``(<(H8``@@(A@`"#A&(`(@8B`"(P(8``@@8A@`"!PB&``("@H8` M`@,$A@`"@$"(8(@#D`"&!@('!X8``OC^I``"'Q^&``3^_@X?_/A MA0`#@\/'A``$_/^'`X<``8"@`(@PN`"((/\`_P"B``&@AB`A`"(B'"(B(IR` M"`D*#`H)"`"@("`1"BJ[`("`@```@(``B!B(`(C``2B&""$`"`@'"`@()R"" M@@*#@H("`"A(B`2"2BX`("`@0("@X`"(8(@#D`"(!@('`X4!`@,`AX"?`!(! M'#@X<'#@X,`#!P<.'!PX?_&&<0+]X8?``>>&X`SA`P,#!P\^^."`@("E`(@P MN`"((/``_[^AOP#"!D9E_P"Y``$!IP"(&(@`B,"(``%`GP"(8(@#D``#!@<' MA08#!_[XI0`1`0$#`P,```#`P("`@````'^'``']A'`8````X>'S?QX```#C MP\>'!P```,"``/__A@`"@("C`(@PN`"((/\`_P#*`(88`A\?A@`"__^(P*@` MAF`"?W^&`P+__Y``B`;_`(D`B#"X`(@@\`#_OZ&_`,('<6;D``0$#!0$A``$ M("`P*(0`!(&#A8F$``0(&"@(A``$!`P4)(0`!'"(B(C8`(@@N`"(@)``B`;_ M`/\`N0`!`:<`B!B(`(C`B``!0)\`B&"(`Y```P8'!X4&`P?^^*4`$0$!`P,# M````P,"`@(````!_AP`!_81P&````.'A\W\>````X\/'AP<```#`@`#__X8` M`H"`HP"(,+@`B"#_`/\`R@"&&`(?'X8``O__B,"H`(9@`G]_A@,"__^0`(@& M_P")`(@PN`"((/``_[^AOP#"!W%FY``$!`P4!(0`!"`@,"B$``2!@X6)A``$ M"!@H"(0`!`0,%"2$``1PB(B(V`"((+@`B("0`(@&_P")`(@PN`"((/<``4>' M``&(AP`!(8<``0>X`(4$*````"0B(2`@````D9^!Y``$!`P4!(0`!"`@,"B$ M``2!@X6)A``$"!@H"(0`!`0,%"2$``1PB(B(V`"((+@`B("0`(@&_P")`(@P MN`"((/<``4>'``&(AP`!(8<``0>X`(4$*````"0B(2`@````D9^!@8$````( MB`@("````$1^!`0$````<(B(B'#;`(@@N`"(@)``!08&!@<'A@`___\8&!@` M``#__PP,#````/__`0$!````__^`@(````#__\#`P````/__&!@8````__\, M#`P```#__P$!`0``/P#__X"`@````/__P,#`````__\8&!@```#__PP,#``` M`/__`0$!````__^`@(````#__\#`P````/__&!@8``P``/__#`P,,#`P\/"[ M`(@@\`#_OZ&_`,((D&>%``0$!`-(A5`$2(=$(H0A"$&!08$"`@0'A`@&B(A( MR"@GAX#%``0P/#!O\&'G;&30```/\`````""!P^/_X<"`@1X4` M!`0$`TB%4`1(AT0BA"$(08%!@0("!`>$"`:(B$C(*">'@,4`!#`\-S&$``0& M!@;&Z`"((+@`B("8``(?#X8``OSXAH`!`8<``O__A@@"P("&``(?#X8``OSX MAH`!`8<``O__A@@"P("&``(?#X8``OSXAH`!`8<``O__A@@"P("&``(?#X8` M`OSXAH#``(@@_P"3``,!`0&$``7@$!\0X$<``````/\``!(``#`P,/\P,#`Q M=AX&_P8>=L9-````_P`````(('#X__AP("!'````_P`````$@("`_X2`1``` M`/\`````!("`@/^$@`0```#_A``$"`@(^)0`B("(`(@(D`"(@(@`B`B0`(B` MP`"((/``_[^AOP#""7)HA``$!P0$!(0`!,`@(2*&``*+3(0`!("`X8"$``11 M4_VAR``#-SPPA0`#!@8&[0"((+@`B("@`(6`1/\``````````_\``(6``_^` M@(4``_\``(4(`_\("(4``?^%``T!`_\#`8"`@,#@_^#`A0`#_P``A0@!^)(` MA8!&_P`````````#_@("D`"((.@`)00'!`0$````),0$`@$````H*"A(B``` M`("#@8%@````H?%!00'0``,P/#>%``,&!@;H`(@@N`"(@,@`B("(`(@(Z`"( M`I``B"#P`/^_H;^$``0'!`0$A``$P"`A(H8``HM,A``$@(#A@(0`!%%3_:'( M``,W/#"%``,&!@;M`(@@N`"(@*``A8!$_P`````````#_P``A8`#_X"`A0`# M_P``A0@#_P@(A0`!_X4`#0$#_P,!@("`P.#_X,"%``/_``"%"`'XD@"%@$;_ M``````````/^`@*0`(@@Z``E!`<$!`0````DQ`0"`0```"@H*$B(````@(.! M@6````"A\4%!`=```S`\-X4``P8&!N@`B""X`(B`R`"(@(@`B`CH`(@"D`"( M(/``_[^AOP#""EQIJP`#`0$!A``%X!`?$.!'``````#_```1`#$P,*L``P$! M`80`!>`0'Q#@1P``````_P``$0`Q,#`P_S`P,,9V'@;_!AYV30````#_```` MA"`$_R`@($8`````_P```!````$#_P,!`("`P.#_X,"`20````#_````A8"+ M`(0(`0]+`````````/^'``3@("`@B`"(`I``B"#K`!4/"`@(#P```(!`2$B( M````$A*?DI*%``.8)$*%``ZPR(@````$!`0*"@```(44!`````^$"`0```"` MA$"H``0Q-SPPA``$Q@8&!NP`B""X`(B`_P"Y`(@@B`"(`I``B"#P`/^_H;\` MP@NO:@0("`@/A``$2$A)AH0`!)*2DHV$!`@("`^$``1(2$F&A``$DI*2C80` M!$)"))B$`(2(A``$$1\@((0`!"0DI*>$``0/"`C(A``!@*(`+00,%`0$```` M("`P*"0```"!@X6)D0````@8*`@(````!`P4)$0```!PB(B(<-@`B""X`(B` MHP`!_X2`4@```/\`````!"`@(/^$(`0```#_A``$`@("_X0"0@```/\````` M""!P^/CX<"`@_P#)`(0$A``$(B$@((0`!)^!@8&$``2("`@(A``$?@0$!(0` M!(B(B'#<`(@@N`"(@*``B(`H`P0$!`,$!`2`04!`@$!`0>`0$!`@0(``0$!% M25%@4$EPB`0$!(A05(D``Q`P4(00`@!PAHD"`."&$`,```"%1"``^("`@/B! M@0"(F*B(B`@(`#A$0'A$1$0`@H)$1"@H$*``B""(`(@"D`"((/``_[^AOP#" M#)UK_P#I`(@@N`"(@*``B(`!`X8`!'^%!`B$``+_\(8``O]%A@`"_]R&``'_ MAP`#X!`0A@`"B7"&``(0X(4`"V=,=$!`8"``\(&!A@`""`B&``)$.(8``A`0 MI@"(((@`B`*0`(@@\@`"1TB$4!L``(A$(B$A(0``(4&!`@($```'"`B(B$@` M``"%@/\`N0"((+@`B("<``0!`P,#A(`%P.#_X'^%8`+@8$3_`/\`Z0"((+@` MB("@`(B``0.&``1_A00(A``"__"&``+_188``O_"Y`(B`F``!`8<` M`<"'@(1@`G]_1````````/__`@``A&`%X.```!R'"(@`A&8$9V<``(0P`O#P MB@"("+``B""(`(@"D`"((.X``@0&A@`"!`R@``'@_P#X`(B`H`"(@+``B`B6 M``+_@(8``O\`A@@!^+$`B""(`(@"D`"((/``_[^AOP#"#F9M`P8%!80$)0`, M%!6EI41$`&*2"@H*DF$`(R0D(R!DHP"&21"?4$F&````@(#_`/T`B("@`(B` ML`"(")`#!@4%A`0E``P4%:6E1$0`8I(*"@J280`C)"0C(&2C`(9)$)]0288` M``"`@/\`_0"(@*``B("P`(@(D`"(@,``B""(`(@"D`"((/\`EP`"`0&%``/@ M$!]>`````````/^(@)4`%`<'!@\?&!@8__\`^/P,#`S__P``A`$,__\`__^` M@(#__P"`A,`4__\`#Q\8&!C__P#X_`P,#/__``"$`0S__P#__X"`@/__`("$ MP!3__P`/'Q@8&/__`/C\#`P,__\``(0!#/__`/__@("`__\`@(3`$O__``\? M&!@8__\`^/P,#`S__X8``_#P,)``B""(`(@"D`"((/``_[^AOP#"#Q]NA``$ M!P0$!(0`!,`@)"2$``0)"4])A@`"S!*&``Y89`$````"`@(%$.```(0*A``$ M!P0$!(0`!,`@("#_`/D`B`;_`(D`B#"0`(@@B`"(`I``B"#H`"`'!`0$!P`` M`,0D)"3#````24E)R48````A(2$2S````(5$'0````4(#Q`0````"I*24E,` M```$!P0$Y````"#`_P#_`(@&_P")`(@PD`"(((@`B`*0`(@@\`#_OZ&_`,(0 MW6[_`/\`P@"'!@$'AP`!^)P``@<'A@`$__\#!X0``X"`@(4`!!P\?'R$``0' M!P]_AP`!`80`!#__X<"%``/`A``$!P0$!(0`!,`@)"2$``0)"4])A@`"S!*& M``Y89`$````"`@(%$.```(0*A``$!P0$!(0`!,`@("#_`/D`B`;_`(D`B#"0 M`(@@B`"(`I``B"#H`"`'!`0$!P```,0D)"3#````24E)R48````A(2$2S``` M`(5$'0````4(#Q`0````"I*24E,````$!P0$Y````"#`_P#_`(@&_P")`(@P MD`"(((@`B`*0`(@@\`#_OZ&_`,(0W6[_`/\`P@"'!@$'AP`!^)P``@<'A@`$ M__\#!X0``X"`@(4`!!P\?'R$``0'!P]_AP`!`80`!#__X<"%``/`P.>$``1P M$``1P'!@/^!P.%`0(``(:`F``9!PX.'!PX.'```0$#!P<.'_S.?@X,#`@```\(=PH`"(,)``B""(`(@"D`"( M(/``_[^AOP#"$5IO_P#_`,(`!`8&!P>$!@0#!_[XA``!@)\`"7!PX.#@```` M'X<``?^$'`,```"%!X4`"P$!`0```/#@P/__A@`%X/\`_P#"``0&!@<'A`8$ M`P?^^(0``8"?``EP<.#@X````!^'``'_A!P#````A0>%``L!`0$```#PX,#_ M_X8`!>#@````A7"C`(@PD`"(((@`B`*0`(@@_P#_`/\`JP"(!O\`B0"(,)`` MB""(`(@"D`"((/``_[^AOP#"$C)P_P#_`,(`B`;_`(D`B#"0`(@@B`"(`I`` MB"#_``$>AP`!((<``9__`/\`F@`%!@8&!P>&`#___Q@8&````/__#`P,```` M__\!`0$```#__X"`@````/__P,#`````__\8&!@```#__PP,#````/__`0$! M```_`/__@("`````___`_P#_`,(`B`;_`(D`B#"0`(@@B`"(`I``B"#_``$> MAP`!((<``9__`/\`F@`%!@8&!P>&`#___Q@8&````/__#`P,````__\!`0$` M``#__X"`@````/__P,#`````__\8&!@```#__PP,#````/__`0$!```_`/__ M@("`````___`P,````#__Q@8&````/__#`P,````__\!`0$```#__X"`@``` M`/__P,#`````__\8&!@`#```__\,#`PP,##P\),`B""(`(@"D`"((/``_[^A MOP#"$U]QD``0(4!`0T!`(1X@L"BDHJ&@H(>0`I^`A4`!@/\`_P";``(?#X:0 M`!`A0$!#0$`A'B"P**2BH:"@AY`"GX"%0`&`_P#_`)L``A\/A@`"_/B&@`$! MAP`"__^&``+`@(8``A\/A@`"_/B&@`$!AP`"__^&``+`@(8``A\/A@`"_/B& M``$!AP`"__^&``+`@(8``A\/A@`"_/B&@)@`B""(`(@"D`"((/P`!'Q"0D*$ M``1(2$Q*A``$(R0D)(0`"X!`0$```'"(CXAP5P``````_P``A``#`?\!A``& MX/#_\.!`2@````#_````A(`$_X"`@$0`````_P```(2`!/^`@("$``'_A0`& M'#[_/AP(1@````#_````#P```0/_`P$`@(#`X/_@P$,``````/\```$`A"`$ M_R`@((0`!/\```"$`@'^DP"((/``_[^AOP#"%-EQD``)0GQ`0$````!)A$@0 M````(Z1D)",```"`0$!`@/\`S`"(0-``B("@`(B`B`"("-@`B""@`(@@_P#_ M`.(`B$"W``%_0P````````#_B("@`(>``?^'``'_APA+_P`````````!_X<@ M`>"@`(@@\`#_OZ&_`,(577+_`/D`B$"P`(A`EP`!`8<``<"P`(@(_P`!`(<@ M`7#_`/\`DP`!`X8"20#_`````````D#_AD!&`/\````````"0/^&0$(`_P`` M``````0#_P,!A``$D``)0GQ`0$````!)A$@0````(Z1D)",```"`0$!`@/\` MS`"(0-``B("@`(B`B`"("-@`B""@`(@@_P#_`.(`B$"W``%_0P````````#_ MB("@`(>``?^'``'_APA+_P`````````!_X<@`>"@`(@@\`#_OZ&_`,(577+_ M`/D`B$"P`(A`EP`!`8<``<"P`(@(_P`!`(<@`7#_`/\`DP`!`X8"20#_```` M`````D#_AD!&`/\````````"0/^&0$(`_P````````0#_P,!A``$X/_@P(2` M1@#_`````````@C_A@A0`/\````````$^/CX<(0@\`#_OZ&_`,(6,'/_`/D` MB$"P`(A`EP`!`8<``<"P`(@(_P`!`(<@`7#_`/\`DP`!`X8"20#_```````` M`D#_AD!&`/\````````"0/^&0$(`_P````````0#_P,!A``$X/_@P(2`1@#_ M`````````@C_A@A0`/\````````$^/CX<(0@\`#_OZ&_`,(6,'/_`*D`B`*: M``$#A0)%``#_```````#0$#_A4!&``#_```````#0$#_A4!#``#_```````# M@(#_A8`#``#_AP`!^(4(H`"("/\``0"((/\`_P"2`(@"F`"(`J@`B$"P`(A` ME0`##Q\8A8`#^/P,A@`"`0&%"`/__X"%`/\`J0"(`IH``0.%`D4``/\````` M``-`0/^%0$8``/\```````-`0/^%0$,``/\```````.`@/^%@`,``/^'``'X MA0B@`(@(_P`!`(@@_P#_`)(`B`*8`(@"J`"(0+``B$"5``,/'QB%@`/X_`R& M``(!`84(`___@(4``X#`P(4``P\?&(4``_C\#(8``@$!A0@#__^`A0`#@,#` MA0`##Q\8A0`#^/P,A@`"`0&%``/__X"%``.`P,"%``,/'QB%``/X_`S``(@@ M\`#_OZ&_`,(7]G/_`*D`B`*8`(@"J`"(0+``B$"*``('!X0&!!@8__^$``0, M#/__A``$`0'__P"I`(@"F`"(`J@`B$"P`(A`B@`"!P>$!@08&/__A``$#`S_ M_X0`!`$!__^$``2`@/__A``$P,#__X0`!!@8__^$``0,#/__A``$`0'__X0` M!("`__^$``3`P/__A``$&!C__X0`!`P,__^$``0!`?__A``$@(#__X0`!,#` M__^$``08&/__A``$#`S__X8``O#PA#"X`(@@_P#_`)(`B`*8`(@"J`"(0+`` MB$"(`(@&_P")`(@PN`"((/``_[^AOP#"&(9T_P"I`(@"F`"(`J@`B$"P`(A` MB`"(!O\`B0"(,+@`B"#_`/\`D@"(`I@`B`*H`(A`L`"(0(@`A`;_`*D`B`*8 M`(@"J`"(0+``B$"(`(@&_P")`(@PN`"((/\`_P"2`(@"F`"(`J@`B$"P`(A` MB`"$!@0'!P8&A``$^/X'`X<``8"9``)_?X8`$OCX.'!PX.```0,'!P\='0#' MQX7`&`#__P,'!PX.`(&'APX.````X/@X'!P<.*@`B#"X`(@@\`#_OZ&_`,(9 M,G7_`*D`B`*8`(@"J`"(0+``B$"(`(<&`0>%`0,#!_Z&@)H`&`$!`P,'!P<. MP,"`@`$!```Y<7'A__\!`83`#/#PP,`<'#@X<'!PX(4`!AP<#O#\'(0.`1RH M`(@PN`"((/\`_P"2`(@"F`"(`J@`B/\`J0"(`I@`B`*H`(A`L`"(0(@`AP8! M!X4!`P,'_H:`F@`8`0$#`P<'!P[`P("``0$``#EQ<>'__P$!A,`,\/#`P!P< M.#AP<'#@A0`&'!P.\/P``<"(`(<(`?\`J0"(`I@`B`*H`(A`L`"(0)@`B("(`(@( MCP`!`8>``<"(`(<(`1S_``$`B"#_`/\`D@"(`I@`B`*H`(A`L``"0']#```` M`````/^&``*`@(X``@@/AP`!_X8`!`/_`P&$``3@_^#`A(`"`/^&``0^_SX< M4```````_P``A``"(.#V`/^_H;\`PAT:=_\`J0"(`I@`B`*H`(A`^`"(@/\` M_P#_`*L`B`*8`(@"J`"(0/@`B(#_`/\`B@#_OZ&_`,(>GW?_`*D`B`*8`(@" MJ`"(0/@`B(#_`/\`_P"K`(@"F`"(`J@`B$#X`(B`CP`!#X<``:*'``%9A0`# M`@*`_P"I`(@"F`"(`J@`B$#X`(B`_P#_`/\`JP"(`I@`B`*H`(A`^`"(@/\` M_P"*`/^_H;\`PAZ?=_\`J0"(`I@`B`*H`(A`^`"(@/\`_P#_`*L`B`*8`(@" MJ`"(0/@`B("/``$/AP`!HH<``5F%``,"`H"%``.@L#"%``,@8&.'``$6A0`# M)`0GAP`!,88``@%AA0`"\`B&``,"`C*'``'#A0`#"0F)AP`!S(4``P4%6/\` M`0#_OZ&_`,(?3GC_`*D`B`*8`(@"J`"(0/@`B(")`!`!`@0(#P``HB(B(B:: M``!FA40"``"&0!H``"@H)24B(@``I*@H*"0C``"945'_`*D`B`*8`(@"J`"( M0/@`B(#_`/\`_P"K`(@"F`"(`J@`B$#X`(B`E0`#`0$!AP`!S(4``PD)#X<` M`6"'``'`AP`!LX<``0R'``%8A0`#D!"``<#_`/\`B@#_OZ&_`/\` MB@#_OZ&_`(``@`"'`10`\`@)"?$)"0!PB`0````$``0,%(0$`@`'``/@($.%``,0`!"%``,(",N'``$&AP`!+(4``P0&!H4``P0, M#(<``6"%``,0$-2'``%'H`"$@H0"!````0&$``1`@`#PA@`"`@&$``0B(B+" MA`*H`(A`R`"(@*@`B("M``,!`P.$8`3P^)P,J`"$!@0/'SDPA0`#@,#`E``$ M!`P4!)0`!!$R4I*$``3`("`@A``$`@!RBH8``AHFA@`"L,F$``0"`N(2A@`" M!0:&``*89(8``F"1A``$$!#1,H8``H!`J`"$@H0"!````0&$``1`@`#PA@`" M`@&$``0B(B+"A`*H`(A`R`"(@*@`B("M``,!`P.$8`3P^)P,J`"$!@0/'SDP MA0`#@,#`_P"A`(4$!@````<`!X4``^$!X(4`"!+Z$A(1````A"`_P````()R M"HIR````0D)")AH")!B(B(F)B````#+2$C+*````!'0$!`0```!%145$1``` M``H*"I%@````%!<4"C+1````(.``0("K``H/'SDP,#D?#P"`A,`,@``/'SDP M,#D?#P"`A,`,@``/'SDP,#D?#P"`A,`!@*$`B$#(`(6`1/\``````````?^% M``T!`_\#`8"`@,#@X.#`J``#`P,!A0`$#)SX\*P`!#`Y'P^$``/`P(#_`)X` M_[^AOP`Y'P^$``/`P(#_`)X`_[^AOP"B`:L!L0&X`;P!PP'*`=`!UP'>`>$! MZ`'O`?(!]0'[`?X!"`(/`A8"'0(D`B@"+@(Q`C@"/@)'`DT"4P)9`F`"9P)N M`G4"=P(2A1!@A!"@@``$X(.'`3XX^.'`````<,!#X.'P_/AX@D"A($!00\?! MX^'A_@D%"&"@O_\`J0"(!H@`B`:(`(@&J`"(0/@`B(#_`/\`D@`(#A$!`0($ M"!"$`!4'``<```$!`>`!X0'A$A(2XA(2$L"'("0"`'**@G(*B@``&B9"0D(F M``"PR8B(B8D"`N(2,M(2,@``"PR$""```##)BHJ*B0``P2(4%!0B(""C9"@O M*&0```"`0,``@)8``@<'A@`"_OZ(``0&!@<'A0`'#/__#`P,#H0&A@`"#P^$ M``0&!O[^K`"(0/@`B(#_`/\`B@#_OZ&_``;^_JP`B$#X`(B`_P#_`(H`_[^A MOP`$````145%1$0````*"@J18````!07%`HRT0```"#@`$"`JP`*D``!'Y<` M`>&'``'`AP`!($`<($!`0"`45`(!`0$"``$"X`(B`_P#_`)8`!`X1`0&/ M``$!A@`"XA*$``0$!"`>$!Z`'O M`?(!]0'[`?X!"`(/`A8"'0(D`B@"+@(Q`C@"/@)'`DT"4P)9`F`"9P)N`G4" M=P(2A1!@A!"@@``$X(.'`3XX^.'`````<,!#X.'P_/AX@D"A($!00\?!X^'A M_@D%"&"@OY``"P8!`1$.````!P`'A0`$X`#A`80`&#+2$C+)````)"0D9*,` M``"%A85),0```(41&P````PT1$PR````DI*2D7`````!`0$AP0```(41&``` M`$)"0B08````A86%3#0````(^`"08+L`"!@8/'[GP\/G1P```````/\`AD`" M_T!"````````_P`!!X4&`OX&1/\``````````?Z%!@('!D4```````#_`(8# M"_\#!`@0($"``(``AP$4`/`("0GQ"0D`<(@$````!``$#!2$!`(`'(8B"`!\ M!`0("`@0_P#_`/\`DP`"?CR^`(A`D`"$!@('!T0```````#__P(``(0&`O[^ MJ@"(`PI,+!Q^?@\#``$!A0`#@`CPA@`"B'"&``($!(8``B(`/^_H;\`.1\/A``#P,"`_P">`/^_H;\`H@&K`;$!N`&\`<,! MR@'0`=@![P'R`?4!^P'^`0@"#P(6`AT")`(H`BX",0(X`CX"1P)- M`E,"60)@`F<";@)U`G<"$H408(00H(``!."#AP$^./CAP````'#`0^#A\/SX M>()`H2!`4$/'P>/AX?X)!0A@H+__`/D`B$#X`(B`_P#_`/\`^P"(0/@`B(#_ M`/\`B@#_OZ&_`,(GCF#_`/D`B$#X`(B`_P#_`/\`^P"&0`%_3P````````#_ M`0"'@/\`_P"+`/^_H;\`PBD_8?\`_P#_`/\`_P#_`/\`\0`9!`@($!$1```$ M`F*1`0$```(&"@("`@``#H01!`\``!R$(@D>```$#!0D1'Z'``0<```$9A3F M8`#A8V9F9F,``,=G-C8V9@``QH5@`0:$!X0&/PX.GI[V]F;``,/&S,S,QA@8 MG]T9&1G9```/F8./F9L```>-F)^8C1@8&)C8V!B8&!@<'AL9&!A@8&-F8./F M9B,``,9FYN9FY@``8V9F8V#F``##9@S,;&88&)_=&1D9V0```(6`AQ@!#(=F M!<8#`']SA&,,```.&S`P,!M@8'QVA&:%`SY[`P/P&!D9&?$!`0``F)B9F9FX M`P-SVX.#@]L``."Q,S,S,0``X[,;^P.S``#@@``>``!\QL!P'`8&QC`P/X4S M!```X("$``,&#AZ%!@@!`P<-&1\!`86`!,"`@!^'&!R`P&!@8&=@P!XS,S,> MLS,S/S`P/`8#`S8>,S`^A#,2/S`P/`8#`S8>,P,#!@P8,``!A0,4`?B,!@`> M!@:.```X;,;^P&S,S,^%S`3``,_.A,P2``"#QLS,S,8``.#@8&!@X`,&A0P5 M!N`P&`%[&QLY``#CLQO[`[,``/^=A!D@``!QVYB9FYL``.,S<_,S&``*!P(0`!`P,SW&&``*'F(8``H_@A@`"@^.&``+CXX8``H#AA@`" M.,:&``+X9H8``GT&A@`"PV:&``*#PX0`!&Q@[)F$``1PP/R.A``$`0'!QX0` M!)B8_QB$``08`!@8A@`"\&.$``0/&#"SA``$@,!CXX8``H/#A``$#PR,F80` M#,!@8XP,&```!@#&!X8``GR&A``$8&!X8X0`!`,#'PZ&``(<9H8``AP#A@`! MS(<``OOXA@`"AW.&``(?,(0`!!@8'N.&``$9A0`$!@">?(0`!&9F?Q^&``+! M&(8``L8&A``$!@9G`80`#`8&AXP,&```8&#\'X8``AR`A@`"`1Z&``+#'(8` M`H\>A@`"AQR&``*'/X8``1^%``08&![^A@`"!SB$``0.&!['A``$&1D?S(0` M%("`\,,`!@,```!PYF;,@`````\#A@`"&?B$``09&9_CA``$@(#P&88``G&9 MA``$#`S\VX<`!#`!`0.$``/`@("]`/^_H;\`D")"(`@2`0"'$"0%H("BB)($ M?"!'X`@00(4"B@0"`@(D"($```'(2!"?B0D)%@D(4)"0D)!PD(H50@B$#D*$ MA$`0'X4$P100(`(``)&H`(8!`@``A(8-C/@``#9C8V,V'```=H5F`@``A08< M`P```P8&!@.!``!N#`P,;,P``,S!Q\S-QP``SH3,)&P``,;,S,S&PP`&YFQO M;.;C8,#`8.``P(```&S&QL9L.```X(7``P``=X5F*P``9FQL;&9C``#&;&QL MQH,``.QL;&SL[```S,S'Q\/#!@;!P8&!`0```)V$F3_Y``"9F9B8F9@``)B` M\!B8\```,#$P,!@/```&[&]LYN,``,9L[`S&@P``S&QO;,R,``!F8,,&!@,` M`&;FYF8%YK8``':%9@(``(5@&S@``#=C8V,W'P``-F-C8S8<```V8&!@-AP` M`(3,!=Q\``#NA M]O9F9F8``&>$9A,^``!C9F9F8V$``&8V-C9FPP``A&8$YN,``(4&!(,``':$ M9COF```V8W]@-AP```,&!@8#`0``9@P,#&;#``#.;&QLS(P``,S,Q\#,QP`` MS1B?V,V'``"=V=D9F1D``(68$XX```T8&!@-!P``F-C8V)@8``"%&1L/``#8 MF9F9F)@``-B,_(#8<```&0,/&1L.``"$F02;SP``A9D9CP``V)F9F9B8``#9 MC8V-V7$``,R,C(R`C/\`GP`$!P8&!H0`!.```0.&``+'9X8``\$#`X4``^,S M@(4``N.SA@`",#"&``)\<88``N"QA@`"^[N&``(P,88``N&SA``%!@;G-@R% M``*\9H8``@<,A@`"C\Z&``*#QH0`!&!@X."&``)YS88``IB80@```````'S< MA@`"<-F$``0#`_.;A``$,`#P,88``N.SA@`"X;.&``+@,(8``CQFA@`".&R& M``+X[(0`!`8&/FZ&``(#!H0`!`P.CL^$``0,'!P]A``$`0#QF80`!)@8F)B$ M``08&!X8A@`"<-B$``0/&0$!A0`#@9B`A``$\)@8&(0`!!@Y>=F$``3PF9F9 MA``$\)B8F(0`!,_9V=F$``0/F8&!A``$`8.'C80`!("`@8"$``1@X>!@A``$ M\)D9&80`!/"8F)B$``0&#`P8A``$?,#\S(0`!`8&/FZ&``(X;(0`!,!@8##P M`/^_H;\```('.(0`!`X8'L>$``09&1_,A``4@(#PPP`&`P```'#F9LR````` M#P.&``(9^(0`!!D9G^.$``2`@/`9A@`"<9F$``0,#/S;AP`$,`$!`X0``\"` M@+T`_[^AOP"0(D(@"!(!`(<0)`6@@**(D@1\($?@"!!`A0**!`("`B0(@0`` M`$ M!A````#F!@8#`0```#8V-F;&A``_`0,#`0```'/S,W/;````,S$Q,#`!`0,P MX.#`P("``&-C8V%@````&_L#L>`````;&QN[^1@8&#,S,W'P````(!OY`+/A M````!N8V-N,```!@/`9FO`````$'#`T'````A,PD;````,S,S,;#````8&!@ MX.````#!>0W->````)F9F;CX````0HV-C=Q\#-AP)8W\@-EP````@_,;F_$` M```S,S,Q\````!L;&[/C````,S$P,S&$`!?@,##@````8#P&9CP```#&_L!L M.````(7,*P```,;&QFX^````#`\,!@,```!O[0W,C````#SL[T```"%F!@````9&1D8#@```(R,C-AP`````P8,&!^&`#\!F0```#%AP(#X M````F/T9&1@```#QF9F9\````)B9F9GQ````SYF9F8\````'@8&9#P```!F? M@8$!````@,`>@("8````8&!@86$````P8<&!^````/"8F)CP````A1@##`P& MA,V%@8&!A`!@8GQT9 M&9D`&``8F)F9#9D```%QV8W]@0#@@."$@00`8\;,A(P#`.,SA1L1``.'A\_/ M>WL`86%Q>6UG8P"'F#P````'#1@?&`````>-V-@8`#`P/KLS,S,````.&S$Q M,0````$!@;V!````\-B9F9D``0%QV8W]@0"8C.R$AM``_[^AOP`($@$`AQ`D M!:"`HHB2!'P@1^`($$"%`HH$`@(")`B!```!R$@0GXD)"18)"%"0D)"0<)"* M%4((A`Y"A(1`$!^%!,$4$"`"``"1N``"=GR&`!1C80`#`0```'#P,&?````` M`P$`^(0``FS,A@`"S,R&``)L.(8`&LW&!P$``!@YW``8\```\)@V,S`P8``' M#.;FA``$@\,P9&80`!#C,C8>$`!1XS)@.```!``P,8&#`P(````!L.(8``L#`A0`# M`69FA``$\)EM9X0`!/&9S&R$``3X@,#`A@`"QG.$``3`P,"`A@`"QOR&`!)C M80`#`0`#!G#P,&#``,!@,QZ$``1@X!D9A``$8&"8F(8``MEQA@`"@8&&``J& M@\#`8````#/CA@`",S.&``)A880`!&9@F)B&``(-!X8``HT'A@`"LS.&``(; M#H8``@$!A@`"F)B&``+9<(8`!8;F#`P8_P"O``$!A0`V8&'Y8&```'G9F?P8 M&1@`F)B8^1B8\``,#`?L#`P'`,_#@\/#PX,````!`P8,#P#/PX,#`P/#A``! M#X0`$69F9CX&9CP`!@P,#!@8&`!XAA@8`&9F9CX&9CP`'C9F?P8&!@`&!@P8 M,&!^E@`+`0``&1EQ&1F9\`"&F0+P`(:8`?"$``$>A@`9`0,&#`\`S,R'#`P, MQP#`P(#`P,"&!LS,>$+,S,QX`,S,S#_,S,QX``\.#`P,#@\`C\YL;&S.CPR' MS&QG8,R'`(#``(#`P8``&1DQ&1F9\`"!\9B8F)GP`(#@,!@8L.``!PT=&!@8 M#0<`S]G#S]G;S@`9F9F/CX;&#)ZSL!X#,QZ$`!'S\][>P!A87%Y;6=C`(>8/`````<- M&!\8````!XW8V!@`,#`^NS,S,P````X;,3$Q`````0&!O8$```#PV)F9F0`! M`7'9C?V!`)B,[(2&T`#_OZ&_``@2`0"'$"0%H("BB)($?"!'X`@00(4"B@0" M`@(D"($```'(2!"?B0D)%@D(4)"0D)!PD(H50@B$#D*$A$`0'X4$P100(`(` M`)'_`/\`H@`!#*<``@P,O@`"#!BD`"H!`0```&#`P8.&````!@/#80$````! M`0&!@0```(&!P\/G````C(",C(R%``LX;,````#`P/CLQH4``SYC`X4``PX; M,84`$Q@8F````!@<'A\;````,#`Q,S"%``/Q&1F%``.,C(R%``-XS,"%`#,X M;,````#`P/CLQ@````$#!P$!````@(&#@X,```#@L!D9&0```'#8C(R,```` M!@X>-F:-`!,!`0$```!PV(R,C````/X&!@P,_P#_`/\`JP"%`1,```"&AH:# M@<#`8`$!`6'!`P,&A8$+````Y[V]F9D```"%C`L```#`P,!L.````(7&/P`` M``\[8V<]````/S`Q&XX```"8&)@8&````!D9&!@8````L/'S`P,S`QX````P,#`;#@```"%Q@,```"%`20```"!@("! M@````+CX&+#@````W'P,V'````#&_P8&!@````>'``'`AP`-W'P,V'`````8 M&#`P,(L`_[^AOP"%`#9@8?E@8```>=F9_!@9&`"8F)CY&)CP``P,!^P,#`<` MS\.#P\/#@P````$#!@P/`,_#@P,#`\.$``$/A``19F9F/@9F/``&#`P,&!@8 M`'B&&!@`9F9F/@9F/``>@RH8-#`O.#`@`%]`8$!A@&- M`0J43)"4J```19A(ON'!*2)68B-*`EY+D2[H>EB*K2E*2)**I*25*0` M*J54JI95555,E54E)5*X```^9:0B<0`(I07%240%T'GI1*(E*5(BE+DN$DD# M%;____^```&?__F0``F3_\F7_^F7_ZF7_RF7_"F7X"F7@"F6`"F3_\F(`!&_ M__V@``6J@/6@``6___V```'___^#!P$``/__``!086EN="!);6%G92!6,2XQ M````````````````````````````````9V5O4&%I;G0@("`@5C$N,0`````@ M'#^-_#T@I00@/#^I`(VX7ZD`A1&I!P`0J3V%%ZGP+)`FT"40)P M`C\"(0&!`1P!IP(-`EP!IP%J`A(""@&Q`E4!?@`````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M````````````````_P#_`/\`_P#_`/\`_P".``$#AP`!_M\``0.'``'^GP`! M/I\``1__`-$`_P&A`0`\9F8,#`P8``$#`_F$``3@,3.'A``$P,S-AA``$'C,SPX0` M#`,#`Y@P,&````#C#H8``N$PA@`"X!F$``0\9@:9A``$/&9@VX0`!'[_`+,` M/P$!`P8$#'S$A`0$!$1$!QPP(6-"1D3@.`R$QD)B(@<$!`P("`@8P4=$3,B( MB(CX#@)C\9'Q80$'#`@8$!$1^`<.`V'QD)@(A`"$@!@."!@1$1$8"`,`^(P$ MA^`X@(#`0$#``0&$``0_X8`,A``$!\1D)(0`!/Y"`AZ$``0/.&!#A``$P'`8 M"(0`!`\X8$.$``3`/@("/C,=#C,0$!/SXB`B' MC(Z(!/^`@/^$`"K.0T#`'Q$1&`Z#X#@,!(SX`H.!P4%`0,`X&!$1@8."QC@Q M$1$#@H+&HJ*&(H@(`8R%B!.,Y'C/@("`SW@PD9$1$1&1D9&QAQ'_`,D`_P&A M`0"8GP``@(0`_P"Y``-$1'R%``,P'`>%``,,.."%``-$1'R%``,(#@.%``,! M!_R%``,,!P&%``,##OB-``,(#@.&``(#_H4``H&`A@`#@.$_A0`#9,0'A0`# M0$#`A0`#8#@/A0`#&'#`A0`#8#@/A0`#&'#`0@``````B(CXC0`#"`X#A@`" M`_Z%``*`@(8`0D1$?````````R(B/H4``P@,!X4``R8CX(4``P&'_(4``Y$1 M'X4``Q$1'_\`_P#_`/\`_P#_`-,`_P&A`0#&1$2((H<(`0R$B`^,Y"8C@("` MSW@P`8<1$1&$D8D1_P#_``(&!H8``@,#K@`",#"F``(!`88``IBN``(8&(8` M`@P,K@`"P,"F``(&!H8``6"7``(&!X8``@8.A@`!P(<``A@8E@!"&!@````` M```"8&">``(8&(X``A@8A@`"9F:&``$#CP`"8&"&``(#`X8``O`8C@`"`P.> M``)\QH8``C`PC@`"!@Z&``(!`X8``H"`A@`"'QB&``*`P(8``AXSA@`"/S"& M``(>,X8``C\PA@`"'C.'``$!A@`"^(R.``+,S(8``<"7``(#!H8``N`P_P`K M`!@8&1D9&!@`?-R-C8W$!C\`#IZ> M]O9F9@##QLS,S,;#`)_=&1D9V9D`#YF#CYF;C@`'C9B?F(W'`!B8V-@8F!@` M'!X;&1@8&`!C9F#CYF8C8P#&9N;F9N:S`&-F9F-@YN,`PV8,S&QFPP"?W1D9 M&=F9``"%@`*,#(48`PP'`(5F!<:&`']SA6,+``X;,#`P&PX`?':%9C4``P,# M>P,#`P`9&1GQ`0$``)B8F9F9N/@`<]N#@X/;`#`\!@,#-AP`,#Z$,Q(>`#`\!@,# M-AP``P,&#!@P/P"%`Q0!```&`!X&!H[^`#ALQO[`;#@`SX7,!,<`S\Z%S!$` M@\;,S,S&PP#@X&!@8.#F9H4,%08#`!@!>QL;.?@`X[,;^P.SXP#_G849(0!Q MVYB9FYN9`.,S<_,S<]L`X[,S,3$P,`$P,##@X,#`@+``_P&A`0``@`"?G9D` M```8&!Z8F(4`"P<-&````,#`Q\W8A0`#!XW8A0`#,[,SA0"S`(4!"````/B, MAH:&A0`#'#9CA0`+?'9F````9F8'!@:%``N!`P8````,#,]N#(4``X?,P84` M`X_.S(4``X/&S(4``^/F;(4``X#`8(4``SALQH4``_C@P(4``WUW9H4``\-F M;(4`*X/&;````&Q@[.QL````<,#\S,P````!`<'!P0```)B8_YV9````&``8 MF9F%`!/PF(`````/&#`P,0```(#`8P;LA0`;@\9L````#PR,S&P```#`8&-F M8!@```8`QF;FA0`2?'9F````8&!X8&`````#`Q\W0F,``````!PV`6"%``/, MS,R%``/[[LR%``.'S=B%``L?G=D````8&!Z8F(4`$QD9#P````8`GI[V```` M9F9_9V:%``/!8V:%`!O&9C8````&!F=F9@````8&AP8&&```8&#\=F:%``,< M-F.%``,!`P:%``/#9@R%``./SFR%``.'S,R%``.'S1B%``L?G=D````8&!Z8 MF(4`*P<-&`````X8'IC8````&1D?&1D```"`@/#8F08#````<-B,S(`````/ M&0.%`!,9F9D````9&9^9F0```("`\-B9A0`+<=F-````#`S\S(R(``(!`X8` M`8#?`(0!A``$AH:,^(0`!&-C-AR$`(1FA``$!@8&`X0`!`8&`X&$``0,#&S, MA``$Q\S-QX0`!,S,S&R$`!3,S,;#``8#`&]LYN-@P(``X`#`@(0`!,;&;#B$ M`(3`A`"$9H0`!&QL9F.$``1L;,:#A``$;&SL[(0`"\?'P\,&!@P`@8$!A0`$ MF9F9^80`!)B8F9B$``3P&)CPA``$,#`8#X0`!&]LYN.$``3L#,:#A``$;VS, MC(0`!,,&!@.$``3F9N:VA`"$9H0`!&!@8#B$``1C8S$``39&9D9A``$F)B8CH0`!`\&!@:$``3V M9F9FA``$9F9F/H0`!&9F8V&$``0V-F;#A``$9F;FXX0`!`8&!H.$``1F9F;F MA``$?V`V'(0`!`8&`P&$``0,#&;#A``$;&S,C(0`!,?`S,>$``2?V,V'A``$ MV1F9&80`!)B8F(Z$``08&`T'A``$V-B8&(0`!!D9&0^$``29F9B8A``$_(#8 M<(0`!`\9&PZ$``29F9O/A``$F9F9CX0`!)F9F)B$``2-C=EQA``$C(R`C,P` M_P&A`0`&!@```&!@_'9F`80`"APV8[/@`````P:&`!/&9N8````&!F=F9@`` M`&!@_'9FA0`+'#9C`````P-_&!F%``MPV(P` M```/&0$!`X0``X&8@(0`&?"8&!@Q````&#EYV9@```#PF9F9\0```/"$F#\` M``#/V=G9SP````^9@8$'`````8.'C1D```"`@(&`@````&#AX&!@````\)D9 M&3````#PF)B8\`````8,#!@1&````'S`_,S,````!@8^;L:%``LX;,8```#` M8&`P,/\`N0"$!H0`!`8&`P&$``0V-F;&A``$`0,#`80`!/,S<]N$`!0Q,3`P M`0$#`.#@P,"`@```8V-A8(0`!/L#L>"$``P;&[OY&!@8`#,S0W->(0`!)F9N/B$`$*-C=Q\#-AP``3\@-EPA``$\QN;\80`!#,S,?"$``0; M&[/CA``$,3`S,80`!.`P,."$``0\!F8\A``$_L!L.(0`A,R$``3&QFX^A``$ M#PP&`X0`!.T-S(R$``3L[$9@L``,=L86=L;0P`C(7,BL`_\\;,S,S&``"`P&!@8,#\ MQL;&_,;&QF``86-F9F9C``#P<#`P,'`>,V%@8&!A,Q@8GQT9&9D9&``8F)F9 MF9@`"@%QV8W]@=G@@."%@0-CQLR$C`.&XS.%&Q$S`X>'S\][>S-A87%Y;6=C M88B8.P``!PT8'Q@-```'C=C8&(TP,#Z[,S,SLP``#ALQ,3$;```!`8&]@0$` M`/#8F9F9F`$!<=F-_8'9F(SLA8;_``(`?(<`!&$``P&$``3P,&?`A``#`0#X M0@``````S```A0`!.(<`&<8'`0``&#EY`!CP``#PF)@S,#!@``<,#.:$``2# MQ\\%``,!`&R$``3PF1EAA``$\)F9 M\80`!/"8F,"'``EC,#`8``<,`#.$``2'S,P,S,#@```0`,#`]@P,"`````CSB&``*'P(4``P&`9H0`!/"9&6>$ M``3QF8%LA``$^("`P(8``@=SA``$P,#/@(8``AG\A@`2GF$``P$``P8`\#!@ MP`#`8&$>A``$8.#@&80`!&!@?)B&``(<<88``F:!A@`*?8/`P&````#@XX8` M`APSA@`"?&&$``1F8&:8A@`"?`>&``(```S,P_S,S,>```#@P,#`X/``#.;&QLSH\,#,QL M9V#,AP``P`"`P,&````9,1D9F?```/&8F)B9\```X#`8&+#@```-'1@8&`T' M``#9P\_9V\X``)F9CX^&Q@P,L[`>`S,>A``7`0,&!P``8\:'``#@``!@8/!@ M8&```':%9@H``#9C8V,V'```A&8=;CX``'-C86!C80``,`#@,##@```V8V-C M-AP``':%9@(``(9F`P``=H5F"```-F-_8#8<_P#_`/\`S0`!#+\``1C_`/@` M_P&A`0#C,X4;$3,#AX?/SWM[,V%A<7EM9V-AB)@[```'#1@?&`T```>-V-@8 MC3`P/KLS,S.S```.&S$Q,1L```$!@;V!`0``\-B9F9F8`0%QV8W]@=F8C.R% MAO\``@!\AP`$80`#`80`!/`P9\"$``,!`/A"``````#,``"%_P#_`/\`_P#_ M`/\`_P#_`/\`_P"2`)4!A?'+`87QM@$`P@EQ:_\`_P#_`/\`_P#_`/\`_P#_ M`/\`D@#_\:'Q`,(*G6O_`/\`_P#_`/\`_P#6``%_AX!<_P`````````!`(>` M_P#)`/_QH?$`P@ND;/\`T0"(@!`````#!P\?'P```."0B(2$D0`N"`P*"0@( M```@8Z0D)",```#$)"0DPP```",D(V"G````PP3'),,```#`(.``P)(`'0," M`@,"`@``X!$2X@(!````XA,2$N(```'A%P$!A``/`<,!(\$````A\B#P(P`` MA8`!X+0`#0,'#Q\?````X)"(A(3_`)``0@<``````````=F%``,,`)F'``'Q MAP`!]X<``0Z'``$^A0`#&!@\AP`!#H<``3.'``$-,3]@-CC_`("#@P8#`_]\W!L; M-G,_X_]QV1L;-F:'_YF9,S-FY\__\=D;&S9FC/^'C3$_8#8X_P"`@X,&`P/_ M<=D;&S9FC/_PV#$S9F;,_\?-L3%C.S8X_Q^9L[-F9LS_X($#`0`&!__SFP/C M8V.&_S,S_?TS,V;_S\R9F3,Q.?\Y;8.#!K;,__#8,#!@8,#PF`#_\:'Q`!D! M(P$L`34!/0%&`4X!5P%>`6@![P'R`?4!^P'^`0@"#P(6`AT")`(H`BX",0(X`CX"1P)-`E," M60)@`F<";@)U`G<"$H408(00H(``!."#AP$^./CAP````'#`0^#A\/SX>()` MH2!`4$/'P>/AX?X)!0A@H+_8`(A`$`````$#!P\/````\,C$PL*1`"X$!@4$ M!`0``!`Q4I(2$0```.(2$A+A````$1(1,-,```#A`N,2X0```.`0\`#@D@"& M`0<``/`("?$!A``*\0D)"?$```!PBX4`%H"`X8"18````)#YD/B1``!`P$!` M0/"T``T!`P/"7``,."0F%``,@8")&`````````*J%``,!`JJ%``)0"-D`#@\("`0"`0`` MOGY^?'CPB@"(0/\`K``-`0(2$A0`#N,2`B`"(0/\` MJ0"$'PH_/W]^_/CX\.#`_P#;`(A`C0`4`0(``@`"`0!0"`!_``BP`*```/^' M`!C_``*A`*```,`*"+``H0(``*H```!0"`I#`*H``````*H"`*J$``01$0"H MA`$2(6%`0O(1$/`0$DA`2%!`04)*A0`"4`B8``.J`0&%``.J!`2%``.JA'B% M``.JA(2%``.J('"%``.J2#"%``.@A'B&``*`@(X`B$#_`*,`#@$!`P<_0/SX M\/#@X/@$_P"1`/_QH?$`X!#@$.#H`/_QH?$`!`"J`@&$``1_``A0A``,_P`" MH0"@`*#(``A0E`"(0/\`J0`8%``4`!0`%`!_?SX`%``4`!0`%```XI:2A0`# MP"`@B0`(038`%``4`%6'``%4A0`)%0`4`!0`%`!4AP`!%4(`````````50$` MA1`"`%"Q`/_QH?$```````````!5`0"%$`(`4+$`__&A\0#Q``/,S,R%``,? M'!B%``,X;,:%``,^;L;8`(A`B``$`@`"`80`,'\`"+``H`"@_P``H`"@`*#_ M````.20D./\```"`0$"`_P`"H0"@`*#`"@BP`*``H$,`J@``````J@@1$1$* M!```JH4A!0$!J!`2A!`2\$)`2D)!0$!`2DA`0%!#0D)#A``$B5M)B8D`!ZH` MH`"@`*!$`*H``````*H"`*J%``F@`*``H`"@`*"8`(A`_P"A`!`_0#]`/T`_ M0/@$^`3X!/@$_P#A`(A`D0`2H`"@`*``H`"@`*``H`"@)24YAP`"P`!"`*`` MH`"@`*`,`*``H`"J`*``H`"@0P"J````````"`"J`````0(`0D!*0$!`44I` M$$)"0T!`4$A`24F)``"@`*")``&@0@"@`*``H`"J0@``````J@"JA0!"H`"@ M`*``H``!H)@`B$#_`)P`'0\/#@P./T`___\BB"+X!/C__R*((@```.#@8.!@ M_P")`/_QH?$`X`#_\:'Q``"@R``(4)0`B$#_`*D`&!0`%``4`!0`?W\^`!0` M%``4`!0``.*6DH4``\`@((D`"$$V`!0`%`!5AP`!5(4`"14`%``4`!0`5(<` M`15"`````````%4!`(40`@!0L0#_\:'Q````````````50$`A1`"`%"Q`/_Q MH?$`\0`#S,S,A0`#'QP8A0`#.&S&A0`#/F[&V`"(0)$`0J``H`"@`*``A``# M`0.K0P"@`*``\?O["`"@`*``\?KXA0`"4`B1``@"``(!``$#`T)*``JQ`/'[ M^Q!(``BP`/'[^P"@`*``\?KXA0`#4`@`0@"@`*``H`"@$`"J`*``H0*@`*H` M``!1"P-"`*``H`#Q^_L(`*``H`#Q^OB%``)0")$`B$#_`)D`"`P.#`X,#@P. M0H@BB"*((H@B".!@X&#@8.!@_P#9`(A`D0`7H`"@`*``H`"@`*``H`"@`ZL# MH0"A`Z-#N_O[\0#Q^_L0NOCZ\0#Q^_L(``A0`/#X^)``"`,#`P$``0,#0[O[ M^_$`\?O[$+KX^O$`\?O["``(4`#P^/A"`*``H`"@`*`,`J`"H0"A`Z,+`PM1 M0@#Q^_N[^_OQ$P#Q^OBZ^/KQ`%$*``@`"%``4`B1`(A`_P"9``@,#@P.#`X, M#D*((H@BB"*((@C@8.!@X&#@8/\`B0#_\:'Q````H,@`"%"4`(A`_P"I`!@4 M`!0`%``4`']_/@`4`!0`%``4``#BEI*%``/`("")``A!-@`4`!0`58<``52% M``D5`!0`%``4`%2'``$50@````````!5`0"%$`(`4+$`__&A\0`````````` M`%4!`(40`@!0L0#_\:'Q`/$``\S,S(4``Q\<&(4``SALQH4``SYNQM@`B$"1 M`!.@`*``H`"@`*``H`"@`*`#HP.A1`"@`*"[^_OQ#`"@`*"X^/CP`*``H)`` M!P,#`P$``0)#`+O[^_$`L0H-`+O[^_$`L`@`N/CX\$(`H`"@`*``H`@`H`"@ M`Z,#H4(`H`"@N_O[\1``H`"@NOCZ\0"@`*`*``I1A``$"``(4)0`B$#_`)D` M(`P.#P\"`@(%B"+__X*"@@*((O__@H*"@>!@X."`@(!`_P#9`(A`D0!'H`"@ M`*``H``%H`"@`*!"`*H````````*`*H"``(!````JD-*0$I10$!`2AA(0$!0 M0$%!00"@````SR$B`*``(``@`"!$`*``H`"@`*`&`*``H`"@0P"J```````` M`@"@B`"(0/\`F0`(!04*"@H4'`B&`@0#`8&!A8`)`$!`H*"@4'`P_P")`/_Q MH?$`F0`(#`X,#@P.#`Y"B"*((H@BB"((X&#@8.!@X&#_`(D`__&A\0```*#( M``A0E`"(0/\`J0`8%``4`!0`%`!_?SX`%``4`!0`%```XI:2A0`#P"`@B0`( M038`%``4`%6'``%4A0`)%0`4`!0`%`!4AP`!%4(`````````50$`A1`"`%"Q M`/_QH?$```````````!5`0"%$`(`4+$`__&A\0#Q``/,S,R%``,?'!B%``,X M;,:%``,^;L;8`(A`D0!&H`"@`*``H``%H`"@`*!"`*H`J@`````5`*H`J@`` M`"(B(@"H`0$!P2$A0$+PA!`#$D!*A4`)2D!*0$!`04)*A$$(0%!(0,0D),2% M``,@`"!$`*``H`"@`*`"`*!#`*H`J@`````*`*``H`"@`*``H(@`B$#_`)D` MB`@#`0$!AP`,@(#`0&`@$!P$!`8#AP`#@,!@_P#1`(A`D0!%H`"@`*``H``% MH`"@`*!#`*H`J@`````R`*HB(A0(````JD&!@>$!`0&H$!(0\!`0\$)`2D!` M0$%"2D!*0D%`4$E!2``(4```QBF)`$.@`*``H`"@``6@`*``H$(`J@"J```` M`!H`J@"J```Y)"0X`*```(!`0(``H`"@`*``H(@`B$#_`)D`A0@#$!`0B``% M,!@.`P&'``R`^`\!(!`8"`0"`\&'``&`^`#_\:'Q`"*((H@B".!@X&#@8.!@ M_P")`/_QH?$```"@R``(4)0`B$#_`*D`&!0`%``4`!0`?W\^`!0`%``4`!0` M`.*6DH4``\`@((D`"$$V`!0`%`!5AP`!5(4`"14`%``4`!0`5(<``15"```` M`````%4!`(40`@!0L0#_\:'Q````````````50$`A1`"`%"Q`/_QH?$`\0`# MS,S,A0`#'QP8A0`#.&S&A0`#/F[&V`"(0)$`1*``H`"@`*``$:``HP*B`J,` M``"(6$A(B``JA0`!*D0`J@``````JAU`2D!`0$%"2D!*0D%`4`@`20$)40$` M```IQBDIQH<`!`<'!@9#`*```/__```;`*H``/S\#`P`J@````$"J@"J```` M4`@`)"0YA0`/0$"````!`@``H`"@`+`(B0"(0/\`F0`($!`P,"`@8$"8``(\ M!X8`",!`X#@L$A,8AP`!P/\`P0"(0)$`.:``H`"A`J``H`"@`+`(``"@`*`` MH````*``H`"A`0$"H@``X!\``(A(````_P```"H``.`0$!``JH<`+ZH````! M`@``J@```%`("@"J`````0*J0$I"04!02$``#@E)#@D)#@`P2$@X"!`@B`"( M!I@`B`P$`*H"`80`''\`"%````,"_P``H```@D;_``*A`*``H,@`"%",`(A` M_P"(``$%AP`,!0```0$#!@P(P("`BP`!)T(`````````_X<`$?X`"`@,!`0$ M`E=@,!`8"`0$0U4``````````538`/_QH?$`-@`4`!0`70@("#Y_?W=5&`@, M/G]_=U4````J04`/50```P0(!`3\4``0@'"S`/_QH?$``````````%4!`(40 M`@!0L0#_\:'Q`/$``\S,S(4``Q\<&(4``SALQH4``SYNQM@`B$"0`!X"H`*A M`*$"H'\`"+``L`@`_P``H`"@``#_`0&A`*"%``0?X`$"A``._P!0"`H?$!`0 MX```JO^&`!VJ_P`"`0```*K`"@A0````J@"J`@$```"J2``(4$,```"J```` M``0```"JAP8!II@`B`R%`!`!`JH"`P("`U```$J27D*"A``&H`"@`+`(D0"( M0/\`&0``!0`%``4`!0`%``4`!``%&#`P(&#%@(6%`#]5`%4@%0```%4`58`. M"0D.20E.`"QB(B0H*"X0#0`%``4`!4*"`@\?'QT?!@(#C]_?W=\```"*T-## MT````($(00'_`0`$X!S_`*T`B$"0`#P"H`*A`*``H'\`"+``H`"@_P``H`>D M!*?_````.*"P"/\``@$``0(`P`H(L`"P"```J@````,#`P"J`*!&`/__``"J M```&`/CX&`"JA@`(!J8&I@:F!J:8`(@,!`"J`@&$``1_``A0A``,_P`"H0"@ M`*#(``A0E`"(0/\`&0``!0`%``4`!0$'`P\?'QT?``4`A<#%P,63``0*$``0 MA``7@$!5`!4`!0`%`%4`51\/``4`!0`%WX^&``+0BH8``D&!AP`''.`$``0$ M!-@`__&A\0!5`0"%$`(`4+$`__&A\0#Q``/,S,R%``,?'!B%``,X;,:%``,^ M;L;8`(A`D0`OH`"@`*``H`"@`*``H`"@!*0'H`"@`*"(B#```*``H`(``@$` M``&J2$!(4$#@$`J'`P&KL`"(&(@`"`:F!J8&I@:FF`"(#$(`````````J@@` MH`"@`*``H)@`B$#_`!D```4`!0`%``4?#P`%``4`!<"%```X)20XA``$L(B( MD(@`"A`-``4`!0`%0("+``L%``4`!0`%`%4`584``P4`!4(``````%4`580$ M!`!4`%3_`*D`B$"1`"F@`*``H`"@`*``H`"`#HD`H`"@```0(`"`#)(0D!"0 M`@K"(B)"@H(("H8(`@.KA@,(^/P.!@8&#OR)`(``+`H)``B(#_`,G8 M`(A`D0`YH`"@`*$"H`"@`*``L`@``*``H`"@````J@````$!`0>E!`#@'P`` M(""X``#_````J@``X!`0$`"JAP`7H`````$"``"@`*``L`@``*``H`"@`*"@ M``@&I@:F!J8&II@`B`R8``A.0$```#A44I``B$#_`/\`_P"3`(A`D``1`J`" MH0"@`*!_``BP`*``H/^&`"*J_P$!`0```*H````?X```J@```/\```>D'Q`0 M$.``_P#_A0`9_P#_``(!``#_`(@`"%```/\``*``H```_X<``O@(A@`"_(20 M``@&I@:F!J8&II@`B`R8``A24B````@(")``B$#_`/\`P@#_\:'Q`$#'2$A( M1P#_`(M,2$B(`/\"@$9"0D<`_P0$'P0$`P#_``<("(@'`/\`BTQ(2(@`_P"` M0(0``?C_`.D`__&A\0``_P``B(BP``#^A``,BE!0`@````6`10!%A``*'Q\8 M&`````7__X8``O__A0`!!4/__P````````+\_-P`__&A\0##`\!\@'U`?L!_@$(`@\"%@(=`B0"*`(N`C$".`(^`D<"30)3`ED"8`)G M`FX"=0)W`A*%$&"$$*"```3@@X'^"04(8*"_V`"(0)$`0J``H`"@`*``&:H`H`"@`*``J@````$"``"J M````4`@(!*2&!)4``PP2$(4``T#`0(@``0^'"(B$A0`"`0*&``M0"``&I@:F M!J8&II@`B`R8``@(``1^)!0,!)``B$"T``0#!A@8A``,C]D''P``#`P?G3$Q MA``4!XVQOP``#`P9F;.S``#``)^=,S.$``0'C3$QA``4P,"#@P```0%SVP8& M``"`@."Q9F>$``3CLS;VA``$[KMF9H0`%#QF''P```$#!P8,#```P`#\<<;& MA``$X[,V-H0`%.Z[9F8```,#!P8,#```,##\=LS,A``$'#;&_O\`P0"(0)$` M0J``H`"@`*``"Z``H`"@`*`"``(!A``$?P@(4(0``?R'!)``!!`0$`Z$`(1` MC`"("`&'AX04_P`"H0"@`*#(``BP`*``H`:F!P>&``;__P"@`*!"``#__P`` M```(#`S\_`"@`*":``8X5%)24B"0`(A`L``L,!L-A@`"`X^&``CX_@"@`*``H(X``A@8B@`((B(B'```!"J0 M`(A`]0`#`0YPA0`!_X<``OX!AP`"_`;_`/\``@``B$"1`!>@`*``H`"@`*`` MH`"@`*!FD8&"@8%V`(@$AQ`!$H<#":OX_`X&!@8._(H`A@((``!FD8&"A(20 M``(8&H48`1I#`*H``````*H,&(P&`P,#!J;\<,"`A``"!P&&``N`P&`P&!@, M#````(0!"0```(A(2"@HF(@`""HJ*A(``#X$D`"(0.D`"0$"`@P0,$!`P(T` M`0^%``0#'.`!A``3_P``\!`(!P"`@/````#`(!`<`_\`H0#_\:'Q````%"*0 M`(A`Y``[`0`!`"0@(`#_`/\`D)"/`/\`_P"0D!``_P#_`(2$C@#_`/\`"`D& M`/\`_P`0$`\`_P#_`)"0$`#_`/^%``/P`/#_`)H`__&A\0```?O[N_O[\<#@ M^_N[^_OQX.#Z^+KX^O%`X`H`"@`*40``"``(``A0_P"+`/_QH?$`S!G_```` M!LW-F?^$`!28N-C_````!AD9,_\```!@C(8'_X0`!&S,&?^$``3,S)C_A``$ M&1D?V`"(0)$`0J``H`"@`*```:J&`!($I`(!``($`!`2(,"`H)"``ZN&`P'X MCP`!`H<``7>7``(8&H880P"J`````````@RLA0P"!@"%"`H%`@"$C)2DO`0$ MAP8$#````80`"0$``,`P"`@PP(@`"`("`CP```(`@(",#@^OBZ^/KQ0.`*``H`"E$```@`"``(4/\`BP#_\:'Q M`,P9_P````;-S9G_A``4F+C8_P````89&3/_````8(R&!_^$``1LS!G_A``$ MS,R8_X0`!!D9']@`B$"1``>@`*``H`"@0@"@`*``H*``&`(!```!`@`""!#@ M0%!(2D`#HP.C`Z.C`[``B!@'H`"@`*``H*$`!A@D0D)^0ID``?"(``@"7A(` M``!^()``B$#@``=`(!`(#`(!B``,@!`(!`("`0$``@(!A``)@```@$!`(!@& MH``!.(4@`C`0B`2(`(1`A"#_`,D`B$"1`#:@`*``H`"@H`"@`*``H`"@`*`` MH`"J```"`0```*H`"@A0````J@"C`P,```"J``#__P"@`*!"``#__P`````( M``#__P"@`*!"``#__P`````$`!CX^(4`!Z``H`"@`*"A``$LA%(!+(H`A`&$ M``B(2$@H\```L(@`!1`($"!^DP"(0.@`"(!`(!`("`0"B``)0"`0"`0#```! MA0`(@$#`(!@$`@&%`!\_'_\```!\_O[N_OY\`'S^_^___GP0$!"PX(````0$ MA@B(`(0@A$#X`/_QH?$`B``(`GY"````&"J0`(A`V``#`0("A020``$0AR`" M$!"&((@`A0,I`0`!^_N[^_OQP.#[^[O[^_'@X/KXNOCZ\4#@"@`*``I1```( M``@`"%#_`(L`__&A\0!3F<92N<93F193B-#QK:12#:52\`NMI%+0`\ZE4LZD M4F#)`/`*2""]2V@XZ0'0]F"E!4BE!$C8`(A`D0`,H`"@`*``H*``H`"@1`"J M`*H`````!`"J`*!"``````"J``"%``FJ`*``H`"@`*"9``>@`*``H`"@H0`& M(E)22DHFB@"$`00````!A$@!L(P``Q@D0I0`B$#H``$!B``&@$`P#```(@"(8``@@( M_P"Y`(A`#P\/"`@$`@$`PKY^?GQX\/\`D@`&)$)"0B08B@`!`8<`!?B04#`0 MBP`/#P\("`0"`0#"OGY^?'CPB0"(0.@`/PP1"048````Y!45%>0```#F*2\H MYP```"!`3T!`````-$4E%60```#F*2\HYP````$"`@(!````S"@H*,@``"X` M#0D)"04```#&*2\H)P````$"`0`#````I"0DI!L```"LJ:FI)````,XI"0GI MZP#_\:'Q`.___GP```#__/B%``'_A``$!`0(\/\`A0#_\:'Q`(4`'S\?_P`` M`'S^_N[^_GP`?/[_[__^?!`0$+#@@```!`2&"(@`A""$0/@`__&A\0"(``@" M?D(````8*I``B$#8``,!`@*%!)```1"'(`(0$(8@B`"%`RD!``'[^[O[^_'` MX/O[N_O[\>#@^OBZ^/KQ0.`*``H`"E$```@`"``(4/\`BP#_\:'Q`%.9QE*Y MQE.9%E.(T/&MI%(-I5+P"ZVD4M`#SJ52SJ128,D`\`I((+U+:#CI`=#V8*4% M2*4$2-@`B$#_`.$`B$#X``,@`"Z$*2P`!``T12459``@(.8I+RCG```"`P(" M`@$`0$!Q2DM*20```(!`P`#`````[(22&0```'.*BHIR`!`$EE145%(```!Q MBHJ*<@"%0`(`0/\`P@`"0#]<`````````/^&``)`@/\`_P#(`/_QH?$`0D(D M&(H``0&'``7XD%`P$(L`#P\/"`@$`@$`PKY^?GQX\(D`B$#H`#\,$0D%&``` M`.05%17D````YBDO*.<````@0$]`0````#1%)15D````YBDO*.<````!`@(" M`0```,PH*"C(```N``T)"0D%````QBDO*"<````!`@$`_P#_`/\`_P#_`/\` M_P#_`/\`_P"2`/_QH?$```$0AP`!0(\``0*'``$$_P#_`/\`VP`M&!42$!`` M?P#'2$A(1P#_`(A(2$B'`/\`1TA'P$\`_P"'"(](AP#_`(!`P`"`0@#_```` M````,@#_``0$!P0$`/\`(R3$!`,`_P#%)B0DQ`#_`,(O`@(!`/\``H<"1X(` M_P!#Y4'A1P#_A0`#P`#_AP`\_P`8%1(0$`#_`,=(2$A'`/\`BTQ(2(@`_P"` M1D)"1P#_``0?!`0#`/\`!P@(B`<`_P"+3$A(B`#_`(!`A``!^/\`^@#_\:'Q M``4```#&*2\H)P````$"`0#_`/\`_P#_`/\`_``!`8<``?&%``/``)^'``$' MAP`!#H<``3Z%``,/&#^%``.```^'``&SAP`!/H<``?&%``/,P/B'``%QAP`! M\(<``0>%``,'#!Z%``,,#!^%``/`P/"'``%PA@`"`0>%``/'S)F%``.&QHV% M``-XS)F%``-XS)B'``$/AP`!,X4``P8`/(4``V!@\X4``PP,G_\`_P"R`/_Q MH?$`Z``_#!$)!1@```#D%145Y````.8I+RCG````($!/0$`````T12459``` M`.8I+RCG`````0("`@$```#,*"@HR```+@`-"0D)!0```,8I+R@G`````0(! M`/``/P$#`P8'#P,8V1L;-F:,_P"=,S-F9LS_`(TP,&`V./\`FV-CQFQQ_P`[ M9F;,S)G_`#-F9LS,F/\!&V-CQFY\\S^PLV9FS-SY_P`Y8&'&QH?_`)ES\V;F M9_\`F#,S9F/#_P#9&QLV9HS_`-@P,&!@P/\`#3$Q8S8X_P"8L+!@8,`__P`9 M,S-F9GS_`-@S,V9CP_\`V!CX`&"`_P`-,S\&!@S_`)DSLV9F>/\`C1DS9F;' M_P"9XS-F9H?_`)@P,&!@+(#_`!DP'@9F>/\`LS\_,S-F_P`\V=DS,V/_`,:8 MF#`;G/\`W3,S9F;,_P"`_P#_`/\`F@`!&+<``>#_`/\`_P#B`/_QH?$`K*FI MJ20```#.*0D)Z>L`__&A\0`[`$(`10!)`$P`3P!6`%T`9`!K`'(`>0"``(<` MC@"5`)@`FP"B`*D`L`"W`+X`Q@#.`-<`X`#H`.\`^``!`00!"@$2`1D!(P$L M`34!/0%&`4X!5P%>`6@![P'R`?4!^P'^`0@"#P(6`AT")`(H`BX",0(X`CX"1P)-`E,"60)@ M`F<";@)U`G<"$H408(00H(``!."#AP$^./CAP````'#`0^#A\/SX>()`H2!` M4$/'P>/AX?X)!0A@H+__`(0`A0$(````!(Q4)`2$``1XA(2$A``$A(2$C(0` M!'B`>`2$``1XA/R`FP`%?$)"?$"$``0\0D)"A``,7&)`0````"`@^"`DA``, M)'XD?@```!`P4!`0BP"%`0@````$C%0D!(0`!'B$A(2$`!2XQ(2$````(`!A M("````!`0/!`2(0`!'B$A(2$``2XQ("`_P#_`/\`PP`I`0`'``<````$`/\` M_P```'@`_P#_````=`#_`/\```#X`/\`_P```'A#`/\`_P`````T`/\`_P`` M`$``_P#_````/`#_`/\```!``/\`_P```!@`_P#_````)`#_`/\```!\`/\` M_X4`/_\`_P````$`_P#_````!`#_`/\```!X`/\`_P```(0`_P#_````<`#_ M`/\````P`/\`_P```'@`_P#_````@`0`_P#_A0`#@`"`_P#_`,4`__&A\0"Y MQU*%'+D74X4=N<=3A1ZI"(4/T*VB`>0%\"H8)@6P`^C0^*``+*E2<`VE!4G_ M'<]/(*M#(+5#K;!2'<]/)04@ET,@M4-@`(#`X/#X_/X``0,'#Q\_?Z4$..V] M4B`/4*D`C;U2+*E2$!&D!+D64YG&4KG&4YD64XC0\:VD4@VE4O`+K:12T`/. MI5+.I%)@R0#P"D@@O4MH..D!T/9@I05(I01(_P">``,#!`2%``.<(B*$``0$ MYI24A0`&3I&1````A4"%``/CE)2$`!0"BU)2`````0$#`0,```!$3.1$Y(4` M"PX)"0```$``7%)2A0`#8(!`_P#_`/\`_P"D``($`X8``B*`#_`/\` M``"`!`#_`/^%``.``(#_`/\`Q0#_\:'Q`+G'4H40%\"H8)@6P`^C0^*``+*E2<`VE!4G_'<]/(*M# M(+5#K;!2'<]/)04@ET,@M4-@`(#`X/#X_/X``0,'#Q\_?Z4$..V]4B`/4*D` MC;U2+*E2$!&D!+D64YG&4KG&4YD64XC0\:VD4@VE4O`+K:12T`/.I5+.I%)@ MR0#P"D@@O4MH..D!T/9@I05(I01(_P"9``,0$!"%``,@(#B%``,$!!B%``,/ M`0&'``$#A0`"@("6``,0$!"%``,@(#B%``,$!!B%``,/`0&'``$#A0`"@(#_ M`/\`_P#_`*0`/W.$A(1S````G%)24I(``(#)DI*240`(",@H*"C(````'!(2 M$AP0``!QBHJ*<@``0&!`0$`@`"@I?"A\*"@`@`&`A8$0`0@`RRHJ*LH```", M4$A$6/\`_P#_`)0`__&A\0``````JC`D!```$#`0$*0$```P"`@0I`0``!@$ M!`BD!````0,%"8`*```#`@,```H``H`2$()%``H`"@`*``I"`````````*J' M``&@_P#_`,$``1"?``$!_P#_`/\`_P#%`!@!`0$````$`!05%:5$````R2GI M">8```"$(#_```!`9TA(2"<```$!@8&!```@(+@E)26D````P"#@`.`````Q M2D)".0```,XI*2G)````SBDI*2X(```Y144J13D```#&*2\H)P```G-*2DI) M`````0)Y``,`(0&G*2FI)P`"`C)*>D`Z^@`"`0&%`RS`@(<-&!@8#3`8&(P, M#`R,&!P<'AX;&QD;.#M[>]O;FP``#ALP,#`;8&!\=H1F$```/&8./F9N```< M-F-_8#:(8!-A87%Y;6=C88"`CYF#CYF;```9A)D5FP``CYF8CX&9```.FS`P ML)M@8'QVA&8#`0,'A0$!@X2&!(.`AL.$9A/C8&;`8&%C9N=@8&#@X&!@\&!@ MA0`$>```'H0S"Q\#,S\#`P8&!@P,J`#_\:'Q`,4`__&A\0"YQU*%'+D74X4= MN<=3A1ZI"(4/T*VB`>0%\"H8)@6P`^C0^*``+*E2<`VE!4G_'<]/(*M#(+5# MK;!2'<]/)04@ET,@M4-@`(#`X/#X_/X``0,'#Q\_?Z4$..V]4B`/4*D`C;U2 M+*E2$!&D!+D64YG&4KG&4YD64XC0\:VD4@VE4O`+K:12T`/.I5+.I%)@R0#P M"D@@O4MH..D!T/9@I05(I01(_P#Q``$(_P"P``,#`0&%``0'@(#`A``$#!@8 M,(0``1F'``&;AP`!#H<``6:'``$[AP`!'(<``6"'``%AAP`!CH<``<^'``&/ MAP`!#H<``6:'``$!AP`!@X<``<.'``'`AP`!8(\``1Z'``$,_P#_`/\`_P#_ M`+0`__&A\0!S2DI*20````$">0`#`"$!IRDIJ2<``@(R2GI`.OH``@$!A0,L MP("'#1@8&`TP&!B,#`P,C!@<'!X>&QL9&S@[>WO;VYL```X;,#`P&V!@?':$ M9A```#QF#CYF;@``'#9C?V`VB&`386%Q>6UG8V&`@(^9@X^9FP``&829%9L` M`(^#+"`T,"\X,"!S=VET8V@@*&PI+!\!!V$$'!0H10!04D<@9F]R;6%T=&5D M($=%3U,@9FEL92!6,2XP``%L`7`!=`%X`7T!@0&&`8T!"I1,D)2H``!%F%R< MB``#.,XW.YTI2B*3.,XW2BJJNY2@`0(!`@B40````(````52N``*OFTDHG$` M`JQ$T054!=#!*42B(2E2-M2E*4)**JJ*2```FQ,F;`5:8F,FU555>E$HB4I4B*4N2X220,5O____X```9__^9`` M"9/_R9?_Z9?_J9?_*9?\*9?@*9>`*98`*9/_R8@`$;___:``!:J`]:``!;__ M_8```?___X,'`0``__\``%!A:6YT($EM86=E(%8Q+C$````````````````` M``````````````!G96]086EN="`@("!6,2XQ`````"``=,$W@+$`1P!'`$I`2P!4@'K`AL!W0'Y M`;H!H@(%`B\!U@'G`9T!U@&F`@0!\P(A`BP!_P'H`?T!N0&/`3@!)`$<`Z8" MTP&(`FL$N00C`28!R0&1```````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M``````````````````````````````````````````````````````````#_ M`/\`_P#_`/\`_P#_`/\`_P#_`)(`_P&A`0`!P(8``CXBA@`"#SB&``+`<(8` M`@\XA@`"P'"-``/_@("%``/_`0&5``,^(B*5``-\1$3M``,#`@*%``/@(""5 M``,#`@*%``/@(""'``'X_P#_`,H`_P&A`0#0]6````"E(04@T%(F!;`-I1C0 M`L89QABE&`498*``+*E2/P``/_/B(C(2$A(R(@! M,7C(A(@Z`("/B(B/@(`!`/P$!/P!`8Z#X#@.`_`0`(#@.`B,Q$0B(B,Q$1$8 M"$3&@X,1$1`XBHJ*&A(2,B(B(X8@`@*.AH@38$/'C(B(B(P9"8GY`0$!^0`. M&X41`B`PAA#_`,$`_P&A`0`X1$1$Q(0$!(E$B(F($"#`'`#_\!`0$!P```'9"0T'`````/!@`PWX```!F1,2$!P```"%A0$#````` M&8^`X#\```")&!!PP````(^&P'`?```+`!@0,."``````0&&`"`8CX#@/P`` M`,2,"#C@````,1`8#@,```#BP@8<\````(1$"'P````,!`8#A``,>#`!A_P` M``",A(8#A``0>#`!A_P```"(B(@(#P```(2(!(\```"%@`4````!`88`*!B/ M@.`_````Q(P(..`````(#`0$!P```"AL1$3'````(F)"0L,```"$(!S@```` MB(Z"PGX```#'0V`X#P```(D)&7'!````A!$$\0```(00`?#_`/\`_P#_`/\` M_P#)`/\!H0$`A`P$,"%C0D9$1$0,A,9"8B(B(H@`/V-&1$9C(#@.XS$1'X#@ M.`X````#!@0,"```_( M``)@<(8``FS@A@`"`0&&``*`@(X``@$!A@`"@8&&``*&AIX``@$!A@`"@("& M``(!`88``H:&A@`"8&"&``$PAP`"!@:.``(_,8<``8".``(P,)8``@<,A@`" MPV.6``)@X(8``A@XA@`"`0&&``+XC(8``@$#A@`"XS.&``+Q`X8``N,SA@`" M\0.&``+@,(8``@\8A@`"@,"&``(,#(8``LS`G@`"/F/8`/\!H0$`"!@0$(B( MA2(3(R`P(B(B(S&0F(X````^XL(&')!$_P#_`/(``0&'``'PAP"P`(T`\-B9F9F8 MF`!\W(R,C-Q\``<-&!\8#1H'`!F/S\8/CQD`CALQ/S`;C@`.&["P,!L.`(5F M!&X^`'Z%9@P^`!PV8V-C-AP`?':%9@(`8(4`#6``<'EY;V]F9@#L[.R$;"$` M.6W!P<%M.0#PV9B8F9F8`/"8.?F9N.P`<=F-_8'9<0"'@1$`QN:VGHZ&A@`\ M9@X^9FX[`(5F%6X^`#QF8#P&9CP`.6W!P<%M.0#PV(68`0"%`0,`P,"%A@7, M>`!G9X5F/P#P,3,S,S$P`.>W!@8&MN8`P&!@9V!@8``Q,3&_,#`P`)F9F1D9 M&P\`AXV8F)B-AP`^NS,S,[,S``X;,3\P&QP.`#XXL+$P,#``#`#`P8XP`!'X08"````(#`86-FA0`3QV,P+!9J<``!!@8&!^$``1F9L.!A``$-C9FQH0`A&"$ M``1@8&`XA``$8&`V'(0`A,R$``1\S-QVA`"$S(0`#,;&;CX&;#@`_L!L.(0` M!`P,!@.$``1L;,R,A`"$!H0`A&:$``3&QFPXA``$QL9N/H0`A,R$``QX>#`P M8&#``!D9&0^$`(29A``$CX&9CX0``P.#@84`!`8&COZ$``3^P&PXA``$QL9L M.(0`!/S`P,"$``0^9FX[A`"$9H0`!&9F9F.$``0&!@.!A``$-C9S\80`!#8V M8\&$``0,#&W'A`"$S(0`!,W-S,R$``3]@=EQA``$F9F9F(0`!("`@."$``3_ M9F9FA``$9F9F8X0`!&9F9N:$``1C8S8R$``29F;GXA``$F9F9^80`!)B8C8>$``38V)@8A``$P,`` MP/\`_P#_`/\`_P#!`/\!H0$`[(7,"0`^;L;&QFX^!H8`'&!@P<#'P<%C/P". M&[&_L)N.`#\YL;$Q,3$`]]V%F0L`'K.'G[.WG0`^.X3_`/\`_P#_`/\`_P#_ M`/\`_P#_`)(`_P&A`0!]#-APA``!@(<``1^$``0#`P..A@`*#,8,#!@```#' M#H8``H&(8``CX,A@`" MX':$``1@8'Q\A@`"',R&``(\.(0`!,#`\P>&``*/AX8``H`8A``$P,#`YX8` M`G@9A@`">(:&``)Q#H8``O,QA``$8&#OF(8``N;CA@`"'#.$``3`P,P.A@`! M<8<``?"'``'[A0`#&0&9A0`#@(#@_P#_`/\`BP`A!P<,#Q@8``",C,S,;6<` M`,S,Q\#,QP``S1B8V,V'`/\`_P#_`/\`_P#_`/\`_P#_`/\`D@#_`:$!`!^< MV-B$``0/#@P,A``$C\YL;(0`!)PV8V.$``1\=F-CA``4'#9C8P```P-_`0O\``````````?C_`,@`E/$%O_'QO[_+\06_\?&_O[?Q`,(+-''_`,$` MB(`0`````P`0O\``````````?C_ M`,@`E/$%O_'QO[_+\06_\?&_O[?Q`,(+-''_`,$`B(`0`````P`0O\``````````?C_`,@`E/$%O_'QO[_+\06_\?&_ MO[?Q`,(+-''_`,$`B(`0`````P%``/@\/"( M`0___\#`P,/'Q___````X/!%____```````1____!P,```#_(2&$``0"`@\"A``$!`"&!(4``QTC(84``QXA(80` M!"`Q*B2$`(2`B`"(@/\`_P#_`),`B("-``$#A0<)`P'A\?%P\/#@A,"(`03' MQ\?#A,$/?__PX,##Q\?__P```.#P1?___P``````$?___P<#````_W#P\.`` M`P?_A0`#X/#PCP`!`8<``_\!`84``_\A'H4``_\2#(4``_\$#H4``_\A(84` M`_\A'H4``\`@((8``H"`C@"(@/\`V0"4\0*_O\_Q`K^_N?$`P@TP<_\`P0"( M@(@`!`<'!P.$`01Q\?'AA,&(P(@!B,$$Q\?'PX3!"'__\.#`P,#!1O__```` M``#_$/__!P,```#_'Q\8C`B`&(P0+__X7``<%"__\` M`````/\"__^%`8G!B,"8`(B`_P#9`)7Q`K^_S_$"O[^X\0#"#BQT_P#!`(B` MB``$!P<'`X0!!''Q\>&$P8C`B`&(P03'Q\?#A,$(?__PX,#`P,%&__\````` M`/\0__\'`P```/]P\/#@````_X<``<"(`0+__X7``<%$__\``````/\"__^% M`0'!B,"8`(B`_P#_`/\`DP"(@(@`B`&(P8C`B`&8P0+__X;`0___```````` M"/__`````P<'0O__````X_?W"/__`0$!X?'QB,"(`8C!`O__A<`!P4+__P`` M````_P+__X4!B<&(P)@`B(#_`-D`E?$"O[_/\0*_O[CQ`,(.+'3_`,$`B("( M`(@!B,&'P`'!A0$#`P?_0\'!P<'!X_?_`,$`B("(`(@!B,&'P`'!A0$#`P?_ M0\'!P<'!X_?WA<`#X_?WA0`#X/#PD``(!P<'`P$#!P="=_?WX\'C]_<(%P`/C]_>%`0/A\?&0P0W__\#`P,/'Q___`0$!0N/W]\'!P<'!`^/W M]X7``^/W]X4``^#P\)``B(#_`/\`_P"3`(B`B`"(`9#!"/__Q\/`P\?'1'?W M]^,`X_?W"'#P\.``X/#PD``(!P<'`P`#!P=$=_?WXP#C]_<(%P0/A\?&*P1[`P,##Q\?_ M_P```.#P____`````P?___\!`0'_`,$`B("(`(@!HL&%P$;___\``````!7_ M__\````#!____P<#`.#P\'#P\.",`(4!`P,'!X7!`^'Q\8K!'L#`P,/'Q___ M````X/#___\````#!____P$!`>'Q\8W!`\/'QX7``^#P\(@`B(#_`/\`_P"3 M`(B`B`"(`87!`\/'QX7!`^'Q\8K!A'!X?'QB,$"__^& MP`___P````,'!___````X/!"____```````=____!P,```#_?__PX````/__ M_P<#````_W#P\.!$````_P`````$``,'QX4!`^'Q_XC!A<`#P\?'A0`#X/#_ MA0`#`P?_A0$#X?'QA<$#P\?'A<`#X/#PD`"(@/\`_P#_`),`B("(`(@!!,?' MQ\.$P01Q\?'AC,&(P!T'!P<#`0,'!W__\.#`X/#P__\!`0$#!P?__\#`P$;C M]_?__P````7@\/#__X8!!,?'Q\.$P`1___#@A``"P<&&_P#!`(B`B`"(`1#' MQ\?#P'!X?'QB,$"__^&P`___P````,'!___````X/!"____```` M```=____!P,```#_?__PX````/___P<#````_W#P\.!$````_P`````$``,' MQX4!`^'Q_XC!A<`#P\?'A0`#X/#_A0`#`P?_A0$#X?'QA<$#P\?'A<`#X/#P MD`"(@/\`_P#_`),`B("(`(@!!,?'Q\.$P01Q\?'AC,&(P!T'!P<#`0,'!W__ M\.#`X/#P__\!`0$#!P?__\#`P$;C]_?__P````7@\/#__X8!!,?'Q\.$P`1_ M__#@A``"P<&&`03'Q\?#A,`$?__PX(0`!/__!P.$``1Q\?'AA`$$Q\?'PX3` M!'#P\."4`(B`_P#9`/_QH?$`PA.=>/\`P0"(@(@`B`&8P8?`%<$'!P<#```` M_W#P\.````#_!P<'`T8```#_=_?WXPP```#_%``/@\/^'``'_AP$!_XC`F`"(@/\`_P#_`),`B("( M`(@!H,$"__^&P`+__X8``O__A0`!`47__P``````_P+__X4!`<&(P(@!!,?' MQ\.$P`1___#@A``"__^&``3'QP<#A``$?__PX$(`````__\``(0``L#`G@"( M@/\`P0"(@(@`B`&8P8?`%<$'!P<#````_W#P\.````#_!P<'`T8```#_=_?W MXPP```#_%``/@\/^' M``'_AP$!_XC`F`"(@/\`_P#_`),`B("(`(@!H,$"__^&P`+__X8``O__A0`! M`47__P``````_P+__X4!`<&(P(@!!,?'Q\.$P`1___#@A``"__^&``3'QP<# MA``$?__PX$(`````__\``(0``L#`G@"(@/\`V0#_\:'Q`,(4?7G_`,$`B("( M`(4!`P,'!X7!`^'Q\97!`\/'QX7``^/W_X4``^#P_P#!`(B`B`"%`0,#!P>% MP0/A\?&5P0/#Q\>%P`/C]_^%``/@\/"%`0@#!P?__\#`P$+C]_?__P```!/C M]_?__P$!`>/W]___P<'!X_?WA<$#X_?WA<`#X/#PB`&(P+@``PP2(80``0Z0 M`(B`_P#_`/\`DP"(@(@`!`<'!P.$`01Q\?'AE,$HQ\?'P\#`P/]___?C```` M_W#P\.````#_!P<'`P```/]W]_?C`0$!_T)W]_?CP<'!P01W]_?CA,!"=_?W MXP`````$%``/@\/"/``$!0@````````#_A0`#`P?_A0$#X?'_B,&(P(4!`P,' M!X7``^#P\(@`A0$#`P<'A<`#X/#PA``'`0($#P```(2``<")``8"%145#@&1 M`(B`_P#9`/_QH?$```.$`01P\/#@A,"(``0'!P<#A`$$#P\/__A@`"P,"& M`(@!B,"(`(@!B,`!!X0`"`$"!(```$"`C0`#(3\!DP"(@/\`V0#_\:'Q``#9 M`/_QH?$``X0`!''Q\>&$`03'Q\?#A,`$#`P8&#!C8V,V'````&9F9FX^```` M!@8&`P$````!!PQMQP```(3,!&P```"%P",```#&Q\;#P0```##S!F;#```` MYN9FX[$````,#`QLS````(7``P```(7,_P#!`(B`B`"(`9#!B,`$#@\/!X0` M!/__X,"$``3__P<#A`$'=_?WX\#`P$7_=_?WXP````7_%P0/C]_>%P`/C]_>%``/C]_>%`0OC M]_?__\#`P.#P\$/__P````````3__P<#A``&#`P8&#!C8V,V'````&9F9FX^````!@8& M`P$````!!PQMQP```(3,!&P```"%P",```#&Q\;#P0```##S!F;#````YN9F MX[$````,#`QLS````(7``P```(7,_P#!`(B`B`"(`8C!A\`!P8<`$?\'!P<# M````_W#P\.````#_AP$%_\?'Q\.$P2)___#@P,/'Q___````X_?W__\```#C M]____P```.#P\/__A@&(P(X``@$!A0`#^/S_AP`!_X'Q\?__AL`"__^&`!+__P````,'!___````X/#_P<&%`07_Q\?'PX3! M!'?W]^.$P`1___?CA``$#`P8&#`&!@8#0<```#9V=G;S\#`P)B?F(V'````V,\!F0\` M```S,[.S'P```#$Q,1L.````L[.S,P$SAP`L&!@P`#,>'@P,&!@P8V-C-AP` M``!F9F9N/@````8&!@,!`````0<,;<<```"$S`1L````A<`C````QL?&P\$` M```P\P9FPP```.;F9N.Q````#`P,;,P```"%P`,```"%S/\`P0"(@(@`B`$$ MQ\?'PX3!!''Q\>&$P8C`B``$!P<'`X0!!'__\."$P`+__X4``P'!P84!`?^' MP`'!0@````````#_AP$!_XC`K``$,$B$A(P`!0("#P)`A0`"@$"(``((!Y8` MB(#_`/\`_P"3`(B`B`"(`83!!,/'Q\>$P03A\?%QA,`$P\?'QX0`!./W_W^$ M`03A\?%QA,`$P\?'QX0!&./W]W?__\#`X_?W=\'!`0'C]_=W___`P$+C]_=W M__\```SC]_=WP,```.#P\'"H``2$2```A"B(``$"A``+`P0$0(````"`0$"- M``,)$3^0`(B`_P#9`/_QH?$`_P#!`(B`B`"(`0/'Q\.%P0/Q\>&%P0/'Q\.% MP`/_]^.%``/Q\>&%`0/'Q\.%P0/W]^.%P`/W]^.%``/W]^.%`0;W]^/`P,!" M___W]^,````*___P\.````#__X8``L#`H``(*"@``"1$_`2(``X$!`(```\! M`D!`@```P(H`"`$!````$"DID`"(@/\`_P#_`),`B("(`(@!D,&(P(@`B`&( MP8;``O__A@`#P,`!1`````````#_AP&(P*``"`0```!,E)2DB``"`@&'``'` MC@`(*2H<```0*2F0`(B`_P#9`/_QH?$``(!`0(T``PD1/Y``B(#_`-D`__&A M\0#_`,$`B("(`(@!D,&(P(0`!`,'!P>$`13A\?]_P<#`P,/'Q\?_`0$!X_?W M=X3`0N/W_W\`````0N/W]W<`````!./W]W>$`03A\?%QB,"@``BD1```6*2D MI(T``@X!AP`"@$"(``@I*AP```(&"I``B(#_`/\`_P"3`(B`B`"(`9#!AL`= M__\'!P,```#____PX````/__QP<#`0$!___W]^.%P`/_]^.%``/_]^.%`0/W M]^.%P$+W]^,```````/Q\>&%`8C`H``(I%@``(3\A(2)``\!#@``!`D)0(`` M``#`0$"(``@2/P(```0$!)``B(#_`-D`__&A\0#Q`/\`P0"(@(@`B`&)P87` M1/___P```````___P(4``O__A@`"__^&`0+__XC`D`"(`8C`H``(2#```(Q0 M(""(``,*"@2%``-`0$"$``'`B0`&$"DI*2H9?\`_P#_`/\`_P#_`/\`_P#_`/\`D@#_\:'Q`,(D@VC_`(D``A@8 MAAD$``#WW829)```/KNQL;&[```.&[&QL1L!`3\YL;&Q,8"`[YF#CYF;```? MG829`Q@8'X68`P$`@(4``?^',3*`@/#8F9F9F```<-B,_(#8&!@8&1@8&1D` M`/&9.?B8N```F)F;\_-A``#CLQL;&[,#`X4S%/\`P0`#@("`_P#F``.`@(#_ M`/\`_P#_`/\`_P#C`/_QH?$`PB/>9?\`_P#_`/\`_P#_`/\`_P#_`/\`D@#_ M\:'Q`,(D@VC_`(D``A@8AAD$``#WW829)```/KNQL;&[```.&[&QL1L!`3\Y ML;&Q,8"`[YF#CYF;```?G829`Q@8'X68`P$`@(4``?^',3*`@/#8F9F9F``` M<-B,_(#8&!@8&1@8&1D``/&9.?B8N```F)F;\_-A``#CLQL;&[,#`X4S%',` M`,`!`P,#`0$#X[,;&QNSPP/#A0,$,##^.X0S'```#ALQ/S`;```#`X.#`P,` M`..S&QL;LQ@`^9F$_P#_`/\`_P#_`/\`_P#_`/\`_P"2`/_QH?$`PB2#:/\` MB0`"&!B&&00``/?=A)DD```^N[&QL;L```X;L;&Q&P$!/SFQL;$Q@(#OF8./ MF9L``!^=A)D#&!@?A9@#`0"`A0`!_X-F)^8C0``!XW8V!B-B,$\@(#PV(V-C=@``'#_`(D` M`A@8AAD$``#WW829)```/KNQL;&[```.&[&QL1L!`3\YL;&Q,8"`[YF#CYF; M```?G829`Q@8'X68`P$`@(4``?^',3*`@/#8F9F9F```<-B,_(#8&!@8&1@8 M&1D``/&9.?B8N```F)F;\_-A``#CLQL;&[,#`X4S%',``,`!`P,#`0$#X[,; M&QNSPP/#A0,$,##^.X0S'```#ALQ/S`;```#`X.#`P,``..S&QL;LQ@`^9F$ M&00!`?'9A)D0@(#GC9B?F(T```>-V-@8C8C!/("`\-B-C8W8``!PV8R,C=D` M`/&9.?F9N0``\\:,C(R&8&#@X&!@8.#``,?,S,?`S`$!@,``@,#`X.`/#H0, M!`$`N>V$S02``)^Z'``'9AP`!CX<``8"'``$QA``$ M&!@8F(0`!&!@8W"&``+#&(8`$H#L```!````>&#`P(``#`P,X88``GCQA@`" M>,"&``)QXX8``O\!A@`"C_.$``1@`.<.A``#!@;'A`,%````G..&``)\&88` M`@Z8A@`"/N>&``(/!X0`!`$!`<&$``2`@/_PA@`"S'"&``(X[80`!`<,#(.$ M``2'S,S@A``$@,#,QX0`!`\9V8"$``0/F9D,A0`#@(#-A``$#`Q\F(0`!`$! M<<&$``2`@.?&A``$,#`^`X8``@,SA@`"XPR$``08`/D0W,>```V8W]@=EQ``#.C(R,CH\,#,YL;&S,C```9X5F`@``A68, M8P``-F-_8#:<``!PA6`:```;,3$Q&PX``#BPL+`P,```&0,/&1L.``"%@03` M``"<``+LS,S.S,P``B`,)LQL;&[/C``"9A1D#``#9A)D%``,8F!B'``'`_P#_`/\`_P#_`/\`_P"T M`/_QH?$`PBV88``O"8A@`"'C.&``(^.X0` M!`$!#QN$``2`@(&#A@`"YC:&``)A8T(```````#Q&^``!'X08&P```)@8&`T'````V-C8F!@````!!PP-!P```(3,/VP```#, MQ\?#PP8&#,&!@0$!````C(^,AH,```!L[`S&@P```&QL;.WG8&!@S,_,QL,` M``!LYP#,AP```!F8V!79C@```(#P&)CP````!Q\S-QT```"$,S^S````,3$Q M&P\```"#@8"#@0````;F-C;C````9F9FX^$``P$V-C9S\3!CP38W-G/Q,&#` M-O,`9L,````,S&P_;,<```#,S,S&PP```&QL;,R,````S,?`S,<````!@,#! M@````(/S&YGP````&_L#L^,````S,S,Q,````!@8)ABX^````#$_,!L.```` MO+-F)B8````A<`L````!PT8&!@`,#`^ MNS,S,P`P`#`Q,S,S``$#X[,;^P,`QQS;-CP\/0#`<+"$V`,`P`"%V1<`&`"8 MF)F9F0```'#9@X.#````X+`8^(0`&CX[,S,S````YK8V-C8```!A8V9F9@`` M`,!@A@`_^.S,S,P```!XS!Q\S````#AMP,#!````\9DY^9D```#WW9F9F0`` M`!ZSAY^S````/C@P,#`````'#1@8&`#`!L#'S=C?V(0`"('!P0$`;,#,A(PL M````^.S,S,P`P,#SQLS/S````(_.;.P,````_'9F9F8````<-F-_8`!F8WN$ M880`)X&#@X,```#CLQL;&P```.&!`0$!````]]V9F9D````>LX>?LP`S`X4S M`0"'`PD```#.&S$Q,0"$`Q:#@X,`\1@9&?$9&0"``(>-F)B8````A<$D`'C, MAH"`@(8`8&!\=F9F9@!@`&%C9F=F``,&QV8V]@8`@0.#A`8#`(\8A3`9`(S. M;F]O;6T`#1T=/3WM[0"&AL;FMIZ.`(=@/````!PV8W]@````'#9@8&``P,#X M[,S,S````#ALQL;&````!P<&]@8```#!8V9G9@`&!L=F-O8&`&`PL(08J`#_ M\:'Q`````)B8_YV9A0`#!XV8A0`&'YS8``!&,`!_`'\`(0""'X`*`(88```` M`8`%`((,P`8`F1@`,#`&8&``/`/`8\/#/#P&`8/8``(!`88``MGQA@`,C8<` M#0<```#`P,"?A``$#0<`X(0``K,SA@`",3"&``*SXX8`&C<8'`<``&/F<`!@ MP`$`P&#;S\#`@``>,YB8A``$#!S9<(0`!!XSL..$``0,'#,SA0`#`38SA``$ M\9CCX80`!/@88,R$``1@X,\S, MA``$'C/&`@```YF9F\V!F8P!@8&#G8&#``#,S'K,S,QX`/(8,"@`# M`P8,&#`_`#R&##@``0$!/``!``"8F)CX&)CP`!DP,#!@8&``X6%A8&!A8`"8 MF)GY&)CP`'C8F/P8&1D`&!@P8,"`^),`#@$```8#`&9FQF9F9L,`AF8"PP"& M8`'`A``!>(0`(`,#!@P8,#\`,S,>,S,S'@`#`P$#`P,9&#,SXS,S,^$`AC," MX0"&,!G@`#X[,3$Q.SX`/CNQL;$[/C`>,[">@S,>A@`_!@,`9F?&9F9FPP`& MQV!@8&;#``"`P&!@P(``'S=C8V,W'P`\9@X^9FX[`&9F9CP\&!@P>,S`>`S, M>``!`0,&)`P8'P"'C1D?`0&!`(&!@<&!@8$`\-B9F9F8F`!QV8V-C=EP`(69 M';GY`/?,C(>`C(<`@,`!@<'`@`!QV8V-C=EQ`/'9A9D!`(>9$`#PV)F9F9B8 M`'#8C/R`V'#A`/_QH?$`\0````"%P20`>,R&@("`A@!@8'QV9F9F`&``86-F M9V8``P;'9C;V!@"!`X.$!@,`CQB%,!D`C,YN;V]M;0`-'1T]/>WM`(:&QN:V MGHX`AV`\````'#9C?V`````<-F!@8`#`P/CLS,S,````.&S&QL8````'!P;V M!@```,%C9F=F``8&QV8V]@8`8#"PA!BH`/_QH?$`````F)C_G9F%``,'C9B% M``8?G-@```"%P(@``A@PK@#_`:$!`'0@=6YD($1A=&5N9&%T96D64`!`;7US MV&``*9F88``K>=A``$`P8PL80`!,-F#8>$ M``3#9LW'A``$P&"!`88`"HR,P,!@`!XSS,R$``0>,\9SA``$`0/,C(0`!.$S M9F:$``3A,S86]O`&S@ M[.SL;&P``0$Y;<'!P0"`@/#9F)B9````\)@Y^9D``0%QV8W]@0"'@1,`AH;& MYK:>C@```#QF#CYF````A68<````/&9@/`8``0$Y;<'!P0"`@/#8F)B8``8. M'H0&`@`/A!D$#P$`#X29"X^!``&#AXV9GX$`A8`"P8"&``3@``!XA,P*?`P` M_`P,&!@8,*``__&A\0`,S,R&``+&(8``C`P_P#_`/\`_P#_`*L`__&A\0`"``^$&00/`0`/A)D+ MCX$``8.'C9F?@0"%@`+!@(8`!.```'B$S`I\#`#\#`P8&!@PH`#_\:'Q``S, MS(8``L9SA@`"S(R%``,!9F:$``3PF382Y$NZ'I8BJTI2DB2BJ2DE2D`"JE5*J65555 M3)55)252N```/F6D(G$`"*4%Q4E$!=!YZ42B)2E2(I2Y+A))`Q6_____@``! MG__YD``)D__)E__IE_^IE_\IE_PIE^`IEX`IE@`ID__)B``1O__]H``%JH#U MH``%O__]@``!____@P2!S=VET8V@@;7D@ M;6]N:71O7,@;VX@;7D@;6]U6]U M2!S=VET8V@@ M=&AE(&UO9&4@;V8@>6]UGD@=&\@<')E2!M;VYI=&]R('1O('-W:71C:"!I="!F2!M;VYI=&]R+"!A;F0@22!O'!E;G-I=F4N(%-I;F-E(&UY(&UO=7-E(&ES(&%L=V%Y2!E>'!E"(@=&\@9V\@8F5T=V5E;B!T:&4@;6]U2!)('=A;G1E9"!T M:&4@;6]N:71O2!I;B!M>2!E;&5C=')O;FEC2!T:&5N('=I;&P@=&AE($Y/4BUG871E(&]U='!U="!A(")H:6=H(BX@5&AI M7,@;V8@=&AE(&UO M=7-E(&AA=F4@86X@=6YP;&5A2P@=&AE(&)O=6YC92X@ M179E2!A M9G1E&EM871E;'D@,"XV(`US96-O;F1S+@T-5&AE(&]U='!U="!O9B!T M:&4@-S0Q,C$@:7,@8V]N;F5C=&5D('=I=&@@=&AE(&-L;V-K(&EN<'5T(&]F M(&$@2DL@9FQI<"UF;&]P(#2!C:&%N9V4@=&\@ M=&AE(&EN<'5T('=I;&P@8VAA;F=E('1H92!O=71P=70@;V8@=&AE(#2X@5&AE('-W:71C:"!I;B!F2!T;R!T:&4@:V5Y8F]A2!O=&AE6]U(&UU6]U('5S92!T:&4@ M6]U(&%R92!A;&UO"!O6]U6]U6]U6]U2!E M'0@ M9FEL92!A;F0O;W(@=&AE(&=E;W!A:6YT('-C:&5M871I8W,N(%5S92!O9B!T M:&ES(&1O8W5M96YT(&]R(!<,!Q`T,"\X,"!38W)E96XM4W=I=&-H%PP'`"!S M8VAE;6%T:6-S(&9O2!U2!W:71H(#(@7)I9VAT("AC M*2`Q.3DT+3$Y.3<@;6EC:&%E;"!N875S8V@-`&-H#0!O;FQY(&%F=&5R(&%W M:&EL92X@268@=&AE(&EN<'5T(&-H86YG97,@9'5R:6YG('1H:7,@<&5R:6]D M+"!N;W1H:6YG(&AA<'!E;G,@870@=&AE(&]U='!U="X@069T97(@=&AE('!R M961E9FEN960@=&EE('-W:0HT,"\X,"!38W)E96XM4W=I=&-H#0IC;W!Y2`B-#`O.#`@4V-R M965N+5-W:71C:"(@#0IH87)D=V%R92!E>'1E;G-I;VX@=&AA="!A;&QO=W,@ M;64@=&\@96%S:6QY('-W:71C:"!M>2!M;VYI=&]R(&)E='=E96X@-#`@86YD M(`T*.#`@8V]L=6UN(&UO9&5S('5S:6YG('1H92!K97ES(&]N(&UY(&UO=7-E M+B!!9G1E6YE M($=A'1E;G-I;VX@=VEL;"!D;RP@86YD('=H870@ M:70@=V]N)W0@;W(@8V%N)W0@9&\Z#0H-"B`Q+B!)="!IF4@1V5O4&%I;G0@9F]R M;6%T+"`-"B`@("!I="!S:&]U;&0@8F4@2!E87-Y(&9OGD@=&\@<')E2!#/3$R."!A8W1I=FET:65S+@T*22!U"!O'!E;G-I=F4N(%-I;F-E(&UY(&UO M=7-E(&ES(&%L=V%Y2!T:6UE($D@ M=7-E(&%N;W1H97(@;6]U6EN9R!T:&4@:V5Y8F]A"(@=&\@9V\@8F5T=V5E;B`-"G1H92!M;W5S92!A M;F0@=&AE(&UO;FET;W(N#0H-"E=H96YE=F5R($D@<')E'@@9F%M:6QY(&EN(&UY(`T*96QE8W1R;VYI8W,@<&%R=',@8F]X+"!) M(&1E8VED960@=&\@;6%K92!T:&4@8VER8W5I="!W:71H('1H;W-E($E#)W,N M#0H-"E1H92!F:7)S="!)0R!I2!T:&5N('=I;&P@#0IT:&4@3D]2+6=A=&4@;W5T<'5T(&$@(FAI9V@B+B!4 M:&ES(&]U='!U="!I'0@24,L(&$@#0IM M;VYO2P@=&AE(&)O M=6YC92X@179E2!T:&4@9FEL92!I2!A9G1E2X@ M5&AE('-W:71C:"!I;B!F2!T;R!T:&4@:V5Y8F]A M2!A(&1I;V1E(&ES(`T*8V]N;F5C=&5D(&%N=&EP87)A;&QE M;"!W:71H(&ET)W,@=VEN9&EN9W,N#0H-"@T*0V]N6]U(&UU2X@1FEN86QL>2!W92!C;VYN96-T('1H92!O;B]O9F8M2!T;R!T97-T('EO=7(@;F5W(&AA6]U(&-A;B!P=70@=&AE(&YE=R!H87)D=V%R92!I;G1O(&$@8F]X M(&]R('-T86YD(&ET(&]N('!L87-T:6,@9F5E="X@#0I#;VYN96-T('1H92`T M,"\X,"!38W)E96XM4W=I=&-H(&)E='=E96X@>6]U6]U6]U('-H;W5L9"!B92!A8FQE('1O(`T*2!E2!P=7)P;W-E(`T*;W1H M97(@=&AA;B!F;W(@<&5R6]U2!R97-I;B!B;V%R9"`S(&EN8V@@>"`U(&EN8V@- M"@T*8V]P>7)I9VAT("AC*2`Q.3DT+3$Y.3<@;6EC:&%E;"!N875S8V@-"E8T M("`@("`@("`@($Y03BUT'0@($%30TE)(&9I;&4@("`@ M("`@+2!M86EN(&1O8W5M96YT871I;VX@:6X@05-#24D@9F]R;6%T#2`@("!R M96%D+FUE("`@("`@("`@("!!4T-)22!F:6QE("`@("`@("T@=&AI