Preview only show first 10 pages with watermark. For full document please download

The Transactor Vol03 02-www-commodore-ca

   EMBED

  • Rating

  • Date

    October 2018
  • Size

    4.2MB
  • Views

    4,389
  • Categories


Share

Transcript

£i commodore Commodore Canada's Tech/News Periodical The Transactor Bits & *2 Pieces Disabling The Here If you Issue are STOP Key a couple don't need the of ways internal Disable with Restore with If you do need the little Basic routine that 110 120 D$ = disable POKE 144, POKE 144, Notice that to disable you address of the IRQ vector, Commodore Basic. 100 to the 4.0 STOP key. clock: 88 85 simply add three to low order as with all other versions of clock, Jim does it: Eutterfielc has a tidy screen 4032 "20>:??:9??8=9;004<58>4" FOR J = 1 TO LEN (D$)/2 POKE J+852, ASC(HID$(D$,J*2-l))*16 + ASC(MID$(D$,J*2))-816 WordPro given and 13 0 NEXT The 40-8032 WordPro 3 Plus will work these POKE conversions: 1. 2. 5. 6. LOAD POKE POKE POKE POKE POKE 2438, 2439, 108 252 7. POKE 2440, 255 3. 4. "WORDPRO 60 84, 36 While on the subject a SEOuential file you get but is! if For now the First method type we'll on seems about put one 5 60 88, 24 6090, 147 the new 12" 3+ of WordPro, several have asked "Can into WordPro?". The answer is yes, a little dozen on each abnormal, variable line. that's blocks Now (Control using Duplicate" function, fill the whole vorlspace blocks and Memorize this for future use. The because with the it P) . "Line variable Index Transactor 32 Pits L Pieces Disabling STOP WordPro & The 40-8032 CBI! ROMs C?l': 8010 Notes 1 1 1 3 4 PET Show Report 6 4C/80 Video Interface Dial-A-ROMs Joystick/Keyboard Routine That Hardware Do I Have? 11 29 30 34 The Tat A First 37 40 Look At The SUPERPET 40 Pick some SEQ file that you would like to edit using WordPro. The idea here is to make WordPro "think" that you1 re going to use the SEQ file data to insert into a form letter which, in this case, is just blank. The printer must be connected. Type: Control 'O'utput + 'S' WordPro will prompt you for the name of the SEQ file. Type it in and hit return. The variable blocks will begin to fill up with the data from the SEQ file. However, if the last variable block is filled with data, WordPro will procede to Output to the printer* Hitting STOP halts output but then WordPro goes and erases the contents of you*re variable blocks... ARGHH! Solution?.. Always have at least one more variable block in WordPro text than you have carriage returns in you1re SEQ file. This way WordPro won't be able to find enough data to fill all the blocks and reports an error, at which point you're data is left in tact. You may have to keep adding variable blocks to the point, where the SEQ file is exhausted before the last block. This may require more than one block on a line. However, a sequential output to disk will concatenate blocks on the same line which may not be too desirable. To delimit blocks with carriage returns, you must either keep each item on its own line or use the programmable character facility in WordPro. Define some character, say 1, equal to ASCII 13 ('tick'lslS) and insert Control:1s between the blocks. See WordPro nanual for more on defining special characters. Commodore ROMs Retrofit ROM sets are available upgrade to BASIC 4.0 and/or DOS 2.0. (suggested retail) $100.00. - 3 - from Cost your dealer for for each set is CDf! 901Q Notes Paul The manual that is supplied fairly good, but I found I still lines to really get it right. My objective was to be able to Higginbottom with the 8010 moden is had to read between the have two PETs connected by laodera, that could freely talk with each other. I intended to implement this by having a program in each PET which sends characters typed in to the modem, and echoes them to the screen, while displaying any received characters in reverse to distinguish their.r from the operators text. The first program that I wrote was based on what I had read in the manual, that if ST (the status variable) is zero, a character is pending and so I wrote a program like this:100 OPEN 5,5 130 GOTO 110 110 GET#5,A$:IF STO0 THEM PRINT" IRVS) "A$" [OFFRVSJ H ; 120 GETA$:IP A$<>"" THEN PRINT#5,A$;:PRINT A$; This program was totally unacceptable, because dropped 50% of all transmitted characters. However I read about the SRQ method of using the modem. SRQ is it had the main reason why the PET IEEE is not a real IEEE-4 88 bus. It is a real line on the bus in the PET, but is not used. SRQ stands for service request, and all it does is to allow a peripheral to tell a controller that it requires servicing. So the second program:- 3 00 OP*7**! 110 120 IF PEEK(59427)AHD128 THEM GET#5,A$ •.POKE 59426,0 iPRIHT" [RVS] "A$"lOFFRVS]"; GETA$:IF A$<>"" THEN PRINT#5,A$;:PRINT A$; 5 5 13 0 GOTO 110 This worked a treat. Line 110 (which is the important cne), says MIF then ::". Once I had discovered how easy it was to communicate via the GC10, I decided to add a little style. And so the third program evolved frcra my fingertips 20 minutes later. This program uses the window facility of the 8032, and so it will not v:ork on 40 column machines I'm afraid. The top window displays characters typed locally and the bottom window shows remote activity. I plan to add peripheral transmit and receive file capability, whereby any device can be toggled on or off. This will be published in a future Transactor. - 4 - 8032 Dual Window Modem Communicator 1000 1010 1020 1030 1040 1050 1060 OPEN 5,5:PRINT"IHM HM CLR)" PRINT"ICLR]" FOR I»0 TO 79:POKE 33728+I,64:NEXT CD$="lDN DN DN DN DN DN DN DN DN DN DM DN]" Xl=0:Yl=0:X2=0:Y2=0 SI=59427:MS=128:IO=59426:ZE=0 TL=224:ML«13:CP=198:CL=216:BL=225:HF=232 1080 POKE 1070 LL=80:Sl=3276 8:S2=33808:US=127:BP=ll SI,160:POKE 2000 IF NOT PEEK(SI) S2,160:ES$=CHR$(27) AND MS THEN 3000 2010 GET#5,A$:POKE IO,ZE:PRINT"[HM HM]";:POKE HF,ZE:POKE TL,ML 2020 P=S2+X2+Y2*LL:POKE P,PEEK(P) A>JDUS 2030 PRINT"IHM)"LEFT$(CD$,Y2)SPC(X2):POKE HFrZE:PRINTA$ES$; 2040 X2=PEEK(CP):Y2=PEEK(CL)-ML 2050 P»S2+X2+Y2*LL:POKE P,PEEK(P)ORMS 3000 GETA$:IF A$="" THEN 2000 3010 PRINT"IHM HMJ";:POKE BL,BP:POKE HF,ZE 3020 P=S1+X1+Y1*LL:POKE P,PEEK(P)ANDUS 3030 PRINT"[HM]"LEFT$(CD$,Yl)SPC(Xl)iPOKE HF,ZE:PRINTA$ES$; 3040 Xl=PEEK(CP):Y1=PEEK(CL) 3050 P=S1+X1+Y1*LL:POKE P,PEEK(P)ORKS- 3060 PRINT!5,A$;:GOTO 2000 - 5 - The Second International : Commodore PET Paul Higginbottom CBM Software Dept. Show This was the second PET show, and was much larger then the first. There were ninety three stands comprising of dealers, software houses, electronics specialists, and systems houses from ail over the world. foil into packages. Software The products on show two catagories, namely software, Each will be discussed below. and hardware Packages The software packages being shown were mostly accounting packages. Apart from accounting, there were a couple of payroll packages, a few data bases, quite * a few comnunicdtions packages, and other more esoteric areas of software. And of course, the wordprocessing packages VTORDPRO, and V7ORDCRAFT. Accounting software The accounting packages were all good, combinations of the following features:-Sales ledger -Purchase ledger -Nominal ledger -Integrated ledgers -Open item ledgers -Invoicing -Integration with stock giving various control I.S.A Computer already have their Commodore in the U.K, name: Ken Marchant)• went up to Bradford Sevices in Bradford, Yorkshire who package 'THE ACCOUNTANT1, sold by showed me their complete range (contact This was very impressive, and since I for a week while I was working with Commodore U.K, I am aware of their setup, which is also very impressive. They are a data preparation agency as well as a software house with about sixty staff. They have about ten programmers on staff, and are well organized because of their systems experience. Barthoiemews Business Systems (contact name: Bob Hawthorn) who are a Commodore dealer in the U.K were showing a nev; ledger package that had been taken off a PDP-11 system. This looked good, but I felt that because this show was its launch, it would need field testing before it could be considered. As I have said, there were many accounting packages at the show, and I haven't got time to cover them all here. I.S.A looked the best because of it comprehensive coverage of different options, and the functioning of the package. It also says something about I.S.A when they use their package for their own accountina! - 6 - payrolls As for to major payrolls, differences well in tax they cannot be reviewed here due structure. Databases Bristol Software Factory of 'OZZ' fame, who are a leading software house in the PET world (contact name: John Kyle-Price), were exhibiting a new package called 'SILICON OFFICE1. They said "No other package on any computer in the world can offer you as many facilities as Silicon Office" which I felt was optimistic. Anyway, it is a package that has been designed to incorporate data processing, word processing, and communications software into one package. Firstly, it should be noted that this software will only run on the CBM 8096 (a future product from Commodore which is an CBM 8032 with an extra 64K bank switchable RAM) and thus the package will not be available until at least September. It is based around the OZZ package, but does not require the user already own OZZ since it IS OZZ with a whole array of new features. It is now a fully programmable database, allowing 'OFFICE1 programs to be written by the userf or probably more likely, set up by a dealer for the user. It has a built in wordprocessor which can cope with multiple columns of text, expressions to be evaluated out of a data file such as TOTAL VALUE OF STOCK or DEALER PRICE=RETAIL-RETAIL*.3, right justification, automatic centering of text, virtual memory processing for page overflow, stored paragraph or page recall and insertion, horizontal scrolling of text for pages wider than eighty columns, and many other features. However, it seemed to lack the completeness of functions that other dedicated wordprocessing packages have. I thing I really liked was the fact that their were no spurious characters .embedded in the text like, left arrows, reverse field text, graphics symbols etc. as with WORDPRO, and V7ORDCRAFT to a lesser extent. The operation of it worked more on the basis of the format cf the text, rather than where certain symbols were. For example, an empty line of text, or an indented word at the start of a line, signified that the previous line was the last line of a paragraph. The communications software contained intelligent terminal modes driving a modem, with fSilicon Office1 protocols which means that it is probably not very compatible with much else, except another Silicon Office terminal. They claim that this package will cope with just about any application. My own opinion is that what they have tried to do is an immense task and although it is desirable to try to cover many applications with just one package, what usually happens (and has happened here I think) is that although it may cover a wide range of applications, it does each one in a cumbersome fashion. If I bought 'Silicon Office1, it would be for simple record storage, with selective mailshot capabilities on the wordprocessor, and - 7 - because I can have any number of remote work stations that can communicate with each other to produce global reports of (for example) a total inventory report of all work stations, or a current back order situation of a network of •Silicon Office1 stations. On a final note about this package, I feel that this is a real breakthrough in software for Commodore computers, because of the amount of power contained in one package. This could be make or break time for our applications horizon; whether our computers should stick to smaller, more humble tasks, leaving larger applications to larger systems, or venture onward beyond the capabilities of •SILICON OFFICE1. Another database product on show was fDMS Data Management System1 from Compsoft (contact name: Nick Horgan). This package has been around for a long time, and was one of the first of the programmable data base products. It is a comprehensive database with calculation facilities, selective reports and utilities to produce files of insertions into text, for both fWORDPROf and •WORDCRAFT1. The length of time this product has been on the market and the popularity of it in the U.K must be give credit to this software house. My only reservations with lDMSt are speed, however record access is quick (two seconds I am told) and in practice; only in a demonstration! speed is not necessary Other database products on show were •PETAID1 (Stage One Software), •FILEPROG1 (Amplicon Microsystems), 'OZZ1 (Bristol Software Factory), •THE MANAGER1 (BMB Compuscience). Database software has come a long way since the dawn of the PET era, but they still seem to lack the elegance of something like ■VISICALC1, and the wordprocessing packages such as 'WORDPRO1 and •WORDCRAFT1. 'The Manager1 which is available from Commodore Canada, seems to be the most transparent database product when configured for an application. What I mean is that it seems less like a database, and more like an applications package, when configured, than the others. •SILICON OFFICE1 will be by far the most powerful database product available in the world, when it becomes available. Communicat ions Software There were a good number of communications packages which proves the potential of this marketplace. Rod Welburn is Communications Manager of Commodore U.K and he feels that there is a huge potential .in using the CBM 8032 as an intelligent terminal. This is true, primarily because of the price of the 8032 as compared to any terminal (dumb or smart). Provided the software is comprehensive and flexible enough to cope with the numerous protocols involved with talking1 to different machines, Commodore could be onto a winner. - 8 - CORTEX (contact name: Howard Johnson) are a software house which deals only in communications software and a package of theirs called 'COMMUNICATOR1 is a Commodore product in the U.K, The software they had on show was very goodf especially due to the fact that their package allows a CBN-to communicate with an IBM computer! Kingston Computers is a Commodore dealer and deal primarily with network systems for CBM computers. Their product NETKIf allows any number of CBMfs to talk to one another, and/or a mainframe. Their were not be covered. Other other packages at the show, but these need Software Claremont Controls (contact name: Roy Stevenson) is a Commodore dealer who specialise in constructional software. They are the best in this field. Final note on software Of course, •WORDPRO1, and 'WORDCRAFT-1 were both on show. They were side by sider which was interesting in itself, and it seemed as though each stand was trying to print more •demo1 letters, than the other! Hardware Apart from numerous interfacing gadgets, D to A, and A to D converters and multi-port boards, the big steals of the show were the hard disk drive, and a CPM operating system. MATOR HARD DISK - This is a 10, 22, or 3*5 megabyte hard disk. The DOS they are writing for it will be compatable with existing Commodore disk units. It was connected to the PET by an RS-232 interface at the show, but there will also be an IEEE version. CPM system - For those not familiar with CPM, it is a small operating system less powerful than the CBM Kernal, but immensely popular on 808X, and Z80 machines. Because it has been around a very long time, there is a mountain of pre-packaged, good quality software for it. This implementation for the CBM is by means of a 'black box1 that is attached to the memory expansion port, which contains a Z80 micropocessor. HI-RES excellent Board product. for ^ It the is a 8032 from flexible good supporting software to go with graphics on a matrix up to 512 X 512. Commodore graphics it. It U.K system allows - An with pixel General In general r I felt that the show had an enormous enthusiasm from both visitors, and exhibitors* Commodore's own stand was "massive, and well presented* There was a VIC-20 ARCADE, which consisted of rows of VIC's lined up with joysticks, and televisions above, sealed in a presentation casing to prevent theft. These had games on them which were exact replicas of familiar arcade games such as 'PACMAN1, •INVADERS1, 'GALAXIAN9, and 'RALLY-X1. This was contantly occupied by thousands of children (big and small!) • To the right of the arcade, along one wall, was all the packaged software products, hardware products and * along the other wall was including the CBM cash register. all the Jim Eutterfield (I had to mention him somewhere), was mobbed wherever he went, and his seminars had five hundred people in a room big enough to hold fifty. I felt that the level of expertise was high but still there are so few 'visicalc-wordpro-wordcraft1 type of products, which are the kind that really do well. Accounting packages that are taken off larger machines is definitely a good approach to getting a system that incorporates the necessary options, and flexibility. where As the PET world gets ever bigger, our expectations it will all end, get blown apart each year. Probably by Albert Hall for the next show! year, - 10 Commodore - will use of the Video Interface Ted Eversf For 4 0/80 Column PET/CBMs The purposes Toronto -Metro Separate School Uoard demand for a. larger display for demonstration and classroom user prompted a search for a video interface between we had a plentiful As there were the PET and supply an external monitorr in our school system. several designs already of which available in many publications, we decided on a modified version, of a circuit', originally published by R. S. McLean, MECA, The main design criteria of the system was, 1. be simple to build, mainboard OISE. it had to: install and wire to the 2. 3. 4. be easy to service have no interference with other plug-in devices be compatible with both the high-base and low-base 5. have standard output-connectors for both video type chassis and audio accomodate our "DUKP" system at a minimum of extra cost, when so required* 6. To meet the set requirements, we decided on a printed circuit board design, measuring 2 1/2" x 3", this to be mounted by means of one #8 machine screw on the inside of the rear base apron, just above the user- and cassette-ports. A template was laid out for the hole locations to accommodate the BNC type video connector, the RCA type audio connector, the mounting hole for the P.C.B. and if so required, a DIN type connector for our "DUMP" system. the The circuit diagram is fairly six inverter/drivers available straightforward. in the 7406 I.C. Four are of used in the video interface to combine the vertical and horizontal drive pulses with the video signal to obtain the required composite video. The fifth inverter isolates the CB-2 line from the outside world, while the "DUMP" is activated by the last inverter. The input, of this driver is connected to "E" (SAVE) of the cassette-port from the master-computer, while the output goes to "D" (LOAD) of up to 20 slave-computer units. Removing R8 and grounding "DUMP"-input will deactivate 60 this By using an slaves can be feature. additional driving loaded at will. unit ("DUMP-HATE"), up to A minor board modification and component change will make the design suitable for the CBM 8032 video interface. However, the audio will have to be connected directly to the CB-2 line and no dump is possible. - 11 - Editor's Note The "DUMP" system mentioned is an interface that allows 20 slave PETs- to download from a master PET using the 1st cassette port. "DUMP-MATE11 boosts slave capacity to 60! Hoth circuits will appear in the next Transactor with modifications to make it compatible with the 8032 and the new "fatw 4032 which, by the way, also uses the 8032 video interface. Included in the following diagrams is some circuitry for ir.aking Electrohome ETV-6 and ETV-7 video monitors switch-compatible for either 40 or 80 column interfacing. If operation with both 40 and 80 columns isfnt necessary, then simply adjust the proper potentiometers in the ETV-6/7 and change the screen voltage to the horizontal output tube to obtain the proper width. 80/fat40 column operationmay require this to bring down the vertical and horizontal dimensions, however with the 9" 40 you may not need it. The 8032 interface board has a wire running along side the 7406. This connects pin 1 to pin 6 of the 7406. To get a "picture" of the final product, try super-imposing the component layout diagrams onto the artwork for the printed circuit board. - 12 - mirror image of the 3.00 inches - 13 - lerbni 00. AV-&10I Bo»*O - 15 - Zooi). -2oo/~ fiV-6101 PET 2001 H K A R DRILLIMC iPBOd TIHPLATK "IDP-DGP VIDEO (BNC) AUDIO (RCA) Hole site:_ 3/6* Hole sise: SUMP (DM) l/4- Hole B^e; 5/B" Drill only when requ Ted, 'I ■LEFT-faDJ-IDGE" /'/*" P.C.B.-M0UNT1NG. ( Cassette-port. Hole eixe: use Ho. 19 drill. ) ( P>rallel-MBeiwport. CQKPOKENT-RBQUIRPffiKTS: BNC-CONNECTOR i Anpkenol RCA-CONNKTOR i Switckcraft GROUND-LUG : Anphenol t HABDUARX * Prek : * 2 Jtf 2 .1 Note: 31-236 (UG/U-625B) 35OL-PP 31-759 71200-050 4-40 nackiae screws (1/2" for DIN rant) 4-40 nwts S-32 X 1* (for DIN aount) Bachine screw. 1 No. 0 wasker. 2 8-32 Only required,vfee» *ftJKPt i» msed. - 16 - ~c- — 20Ot~ W-Btoi .. & VIIM PORT 8OKNBCT AND SOLDiB APPKOPKIATB LKADS FROM THE AA-INTUIFACS BOARD TO THESE PADS. THLM KXCKSS LKADS AND CHECK FOR SHORE,ETC. 3. fy £ 2. V CASSBTTS -r v * Pit 2 0 •'! -"C 0 HPQHiH tSIDI PORT . HSHUVS SOLDiB PROM THE SIX INDICATfD PADS, USER . 1. PARALLEL , - Zooi- '"Top- Video p.c.e>. £ • BASF. - 18 - For TO To V911 / T0V5" ♦ frv Vioeo -10- To'Z C1M tIAlt 8 0 D It I L L I M G -80&Z- APftOM TIMPLATI- •LEFT-SIDM VIDE) Dole slse: AtDXO (1CA) (BMC) 3/8* Hole lise: 1/4 P.C.B.^10UNTUC.(-f)uole site: mse Mo.19 dri] 1. Cassette-port. F»r&ll el— CCMPOMiM T-HJCUIRBCSKTS t BNC-C0NNK7DR Aapkenol 31-236 BCA-CQNNiCTOR SwltckcraTt GROUND LUG (0G/U-625B) 3501-f^. Aaphenol 31-759. 1 8-32 X 1/2* machine screw. 1 No. • 2 8-32 n«te. rt 3. 2. 1. U S K R "2" **NN "M- "9E AND "10" , TRIM IsJLCESS LEADS AND CHECK FOR SHORTS,ETC. W1R1S TO THE ENDPART OP THE CON TACT- AS THUW ARS NO PADS POJ1 PORT BB VERT CARfiFUL WON ATTACHING THESE CONNECT AND SOLUKK APPROPRIATE LKAUS FKOM THE INTtltfACE BOARD TO mSI PADS* "B" ?IIN C A 3 3 IT TI CBM6O32"COMFONBNT-SIDE" FORT KEHUVJt SOLDER FROM PADS "A" PiHALLEL -80ZZ- ta ar Rc.e>. QLTEGNATE TtfipLArF FoR - 22 - . O 0 4: CONNECT »C" TO T5-U (2) AND •A" TO T3-U IT TO THI NOH VACANT TS-U (2). DISCONNKT R-715 PKM T3-U (6) AND » 3t O OONNKT IU71O and C-708 TnCKTHBl IN MID/i Q at O RIM0V1IU71O and C-708 FROM TS-U (2). ♦ It TS-U AND WATTAGE RATING TO OBTAIN + 13$ VOLTS, R-502 WITH A RESISTOR OP SUPnCIBfT VALUB IP IT MIASUNB BELOW + 1}O V0LT5,SHUNT CHECK THK UVB. OP THI "B+» SUPPLT. WO T I I 2 i PoftT oP HoR. OSC. Part ftc HeR.Qufr "C ?5 KHS \Jt>lll 8o- HpoiFic/m o n $ W I B I M C . lA I B 1 C Id 1 E 1 F 1(3 1 H 1I Ij 1 K 1 I N e 1: INSTALL 220 X.OIM RESISTOR BET 2: INSTALL 3: INSTALL DIODE (UUtOOl) 4: INSTALL 150 Oltt 5: CONNECT "A" 10+250 VOLT SUPPLY. 6: CONNECT "B» TO ♦ 135 VOLT SUPPLI. 7: CONNECT "C" TO TS-U (2). (Note:tS-Ushould hare been nodified as per) (page 1 instructions.) t 6: CONNECT "D" AND "I" ACROSS R-606. 9: CONNECT "G" AND *H» ACROSS R-707. 10: CONNECT ■i" AJ© 22 K.OIM RESISTOR BETWEEN "G" AND "I". BETWEEN »N" AND •«". {Observe polaritj) BSSISTOR BETWEEN "X" AND "J". »J» 10 * 27 VOLT SUPPLY. 11: DISCONNECT ALL WIRING FROM SW-203. (Audio-filter-switch on front panel) 12: CONNECT CENTER CONTACT OF SW-203 TO GROUND. 13: CONNECT "ON* CONTACT (rear connection) OF SW-203 » •*" OF BELAY. 14: SOLDER ALL CONNECTIONS AND INSPECT WIRING FOR PROPER DRESSING* - 25 - m a*. Mm.- mltx J-j 9 m CT« JL»C$T i - 26 - H0/&O i CtCS ±«? I W MOK fk • 4f: * OPT •lOf h? ~7t:. «»•! •oosi - 27 n~7. - \ ctif _ f 3 i h 3 o i 1 o Ji rr._ o -i I NEW DIAL-A-ROM models from KOBETEK SYSTEMS LTD. It has now been over a year since we first introduced the Dial-a-ROM.. At that time, there were not too many chips around (V7ORPRO and Toolkit). In the past months, however, there has been a steadily increasing number of various utility and protection ROMs. There is also room in the VIC expansion board for two 24-pin ROMs. He suspect therefore that the nunber of (P)ROMs will grow at an increasing pace. The Model 6H Dial-a-ROM has room for 6 ROMs. It comes equipped with a flat ribbon cable, at the end of which is a 24-pin DIP plug that fits into one of the two empty sockets on the BASIC 4.0 machines (4016, 4032, 8032, VIC). Because of its design ( the 6-socket board is housed in a plastic cabinet that sits next to the machine ) , the flat ribbon cable will not interfere with any expansion boards that you may want to fit on top of the motherboard. The only thing that goes into the computer is the plug. The model 6H has a 6 position rotary switch on the front, which allows you to select one of the 6 ROM positions inside. Note that only one ROM is selected at one time. Also all ROMs inside the unit must be addressed at the socket into which you have put the plug (unless you move the plug to the other socket). The model 33H is for those people that don't need room for 6 ROMs with the same address. It also has 6 sockets, but they are electronically grouped in two groups of 3 (or in a group of 2f and one of 4 - the user decides by means of a jumper) . The 33H also has a flat ribbon cable with a dipplug, and has a second cable with a socket at the end. The dipplug goes into one of the ROM sockets on the computerboard, and the cable socket goes into the other. The 33H has 2 6-position rotary switches, one to control each of the sockets. It permits two ROMs to be selected at the same time, one in each of the ROM sockets of the CBM. The model 66H is for those who donft need room for 6 ROMs with the same address, and also have no need to have two ROfls active at the same time. This is probably most of us. The 66H has a dipplug cable and a socket cable like the 33H, i.e. one unit will do for both of the CBM sockets. A toggle switch on the front allows you to select one of the two CBM sockets. You then dial to the position of the socket in the 66H which contains a ROM addressed at the selected CBM socket. The 66H offers the user complete freedom in the mix of ROMs in the unit to a maximum of 6. need tied In the works: The 11H, a daisy-chained model for those who more than 6 ROMs in the same socket. It is a pair of 6H's together, with its own power supply. Prices (Canadian funds) Model Model Model - Please add 66H For more information contact Sieg R.R.#1, Wolfville, Nova Scotia, 902 542 29 airmail post 115 .00 135 .00 135 .00 6H 33H - $ 5.00 - Deleu 9100. at Kobetek Systems, JOYSTICK/KEYBOARD ROUTINE David Hook, Barrie Ont. purpose; Many programs, especially games, allow the user to control movement using the numeric keypad* Usually, pressing >8' means 'up1, f2' means 'down1, '4' means fleft' and '6' denotes •right1• Diagonal movement is also permitted with the 1,3,7 & 9 keys. The middle of the keypad, 5, signifies no movement or no change in movement. In games, the 'SPACE1 sometimes indicates a 'fire1 button. Since I have produced a joystick great to have a single program work keyboard input. interface, it would be for both joystick and The program will work on all three ROM versions easily incorporated into new and older programs. and be Description? Combining a test to screen out all other keys, and decoding the keys takes a fair bit of coding. Fast animation is sometimes restricted by the processing time involved. Wouldn't it to handle all of a simple command be useful to have this. The routine and ignore all but a simple 12-line program should be initiated with the "desired11 keys. Such as... 50 60 N=USR(0):IF N=0 THEN 2000 ON N GOTO 100f200r300,400,500,600,700f800,900 Thusf the variable N takes on values 0-9 only. Zero corresponds to the 'SPACE1 key. All the others can be handled as their proper direction. No other keys will affect •N1. N=5 when no key has been sensed* This could be programmed to mean no movement, or as no change in direction. The same input to 'N1 is connected. Now the '0' reflects JS/KB made when the joystick is the 'button' being pressed. LOADER: Enter the 14-line program as in Save it immediately, as a precaution "crash". RUN the the listing provided. against an accidental program. The program loads a short Machine Language routine (93 bytes) into the first cassette buffer. Even if you are loading from Cassettetl, the routine should be safe there until you load another program. The USR vector will be set according to your answer to the "using joysticks11 question. Any time you enter an expression... variable=USR(O) •••the routine will be invoked assume the value 0-9, as above. and the variable will Line 13 in the program is a quick test of the program. Hold down each number key as it's running* Hold down the 9SPACE1 key also* Note the numbers appearing on the screen as it runs* Both Line 0 and Line 13 aren't necessary when you come to use the program* It shouldn't be too difficult to modify existing Basic programs to incorporate the dual functions* While you are at it, consult Compute #4 or Best of Pet Gazette* I've had only a passing acquaintance with a soldering iron. My joystick interface works great with the above routine* Trying the four Cursor joystick-compatible programs is another challenge* Modifying five versions of Space Invaders (old, 2*0 normal, 2.0 fast, 4*0 normal & 4*0 fast) is another tale* You can find these at any of three Toronto PET dealers. Note to hackers: I've selected the 'SPACE1 as the 'fire1 button* If you want another, change the ninth data item from '32' to the ASCII value of the key of your choice. Source included. code for the MAE - or 31 ASSM/TED - assembler is also PAGE 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 0200 0210 0220 0230 0240 0250 0260 0270 0280 0290 027A027D027F0281- 028302 8502 870288- 02 8A028C028E- 20 E4 C9 F0 C9 DO A9 38 E9 30 C9 30 30 OF 20 02 30 0290- A9 0292- A8 0293- A2 FF 0300 0310 0320 0350 0360 0370 03 80 0390 0400 0410 .CE * JOYSTICK/KEYBOARD ROUTINE DAVID A. HOOK, 9* }* USRPORT GETBYT KEY1 KEY2/4 INTFLP1 INTFLP2 INTFLP4 KEYBD .DE .DE .DE .DE .DE .DE .DE $E84F $FFE4 $0203 $0097 $D27 8 $D26D $C4BC .BA $027A STORE CMP BEQ CMP BNE #'0 NOTSPC #' #'0 0440 0450 0460 0470 0480 0490 CMP #10 BMI HAVKEY NOCHG LDA #5 HAVKEY TAY ;SAVE ;ENTER KEY VALUE OF IN R(Y) ;= ;1.0=$FF 2.0=$00 BPL ;FOR 2.0 ;MEANS NO KEY PRESSED ;MEANS NO KEY PRESSED STX KEY1 JMP USER 02A0- 0520 0530 STX *KEY2/4 02A2- 4C B4 02 0540 JMP USER E8 0550 0560 0600 LDA USRPORT NO KEY '5' #255 0510 4A IT KEY ROMTYPE NOT1 02 02AB- ;WRONG LDA 02 JOYSTK ;SPACE=BUTTON LDX 03 0610 0620 0630 0640 KEY? SEC NOCHG NOT1 1.0 2.0 4.0 IN FIRST CASSETTE BUFFER ;SPACE SBC 0500 JOYSTICK ,-ZERO KEY? NOTSPC LDA #'0 BMI 4F * NOCHG 8E 4A 4A 4A * JSR GETBYT 4C B4 86 97 AD . 726-8126 INPUT FROM USER PORT FOR GET A BYTE WHICH KEY—ROM 1.0 WHICH KEY—ROM 2.0 & 4.0 INTEGER TO FLOATING—ROM INTEGER TO FLOATING—ROM INTEGER TO FLOATING—ROM 029D- 02A802A902AA- * * 029A- 02A5- ONTARIO .A****************************************************** 0430 02 (705) BARRIE, ;* 0420 FF 58 STEEL STREET, L4M 2E9 04 OA 02 0295- AD C6 0298- 10 06 * * ;*(C) 30 05 01 ROM PRESSED ;GET JOYSTICK ;DIVIDE BY LSR A LSR A S, 4.0=$01 4.0 BIT PATTERN 16 LSR A LSR A AND USRPORT 0650 02AC- 2D 02AF- A8 02B0- B9 02B3- A8 4F C7 E8 02 0660 0670 06 80 06 90 0700 0710 TAY LDA TAY ;KEEP VALUE JS.TAB,Y ;LO BYTE ;USE FOR INTEGER AS INDEX CONV TO KEY VALU PAGE 2B4- 2B62B92BB- 2BE- 2C02C3- A9 AE 10 4C DO 4C 4C 00 C6 03 78 OS 6D BC 02 D2 0720 ; 0730 USER 07 40 0750 0760 D2 C4 2C62C7- 05 05 05 08 03 2D3- 05 04 2D6- 05 2CA- 00 2CD- 09 2D0- 01 05 07 05 02 06 ,ABEL FILE: 0770 TWO/FOUR 07 80 0790 FOUR 0800 ; 0810 ; 0820 ; 0900 ROMTYPE 0910 ; 1000 JS.TAB 1010 9995 02 LDA #0LDX ROMTYPE ;HI BYTE FOR INTEGER COKV ;1.0=$FF 2.0=$00 4.0=$01 BPL TWO/FOUR JMP INTFLP1 BNE FOUR JMP INTFLP2 JMP INTFLP4 ;TO FLOATING FOR 1.0 .DS 1 ;1.0=$FF 2.0=$00 4.0=$01 ;TO FLOATING FOR 2.0 ;TO FLOATING FOR 4.0 .BY 5550579851325465 ; .EN I / - EXTERNAL ] 'USRPORT=E84F KEY2/4=0097 'INTFLP4=C4BC IOCHG=0290 rOYSTK=02A5 .'OUR=02C3 /GETBYT=FFE4 /INTFLP1=D27 /KEYl«0203 /INTFLP2=D26D KEYBD=027A HAVKEY=0292 NOTSPC=0287 NOT1=02AO TWO/FOUR=02BE USER=02B4 ROMTYPE=02C6 JS.TAB=02C7 V0000,02D7r02D7 - 33 - What Hardware do I Have? 7irc Bctteriield, Toronto Users used, to tell their PET/CBM machines apart by the size and shape of the keyboard, or by the message that was displayed when. power was turned on* That doesn't work too well any more* New keyboards can be fitted to old machines; new ROM sets can be plugged in; and even the green screen/white screen isn't much of a hint any more* Although I'm not a hardware man, I often get calls from users who want to know about some aspect of their machine* I try to establish which machine they are talking about. Commodore may have a much more official checklist for their hardware configurations: but here's the set I use. Perhaps readers can suggest other differences that are worth while knowing* Items 1 and 2 are pretty obvious: how many columns on the screen - 80 or 40 - and what type of keyboard* Ifro not concerned with tiny versus full-sized keyboards; rather, is it a simple graphics keyboard or a full-scale business ASCII layout? The easy way is to look at the top row, above the alphabetic letters: are there numbers along the top or just symbols? The next question: does your PET have original architecture or the more recent layout? The tipoff here is the connector on the right-hand side of your machine. If you see an edge-connector - a connector with copper "fingers" extending from the board inside you have the original machine board. On the other hand, if you can see a series of upright pins when you peer through the right hand slot, you have a more recent board. Another way of telling the same thing is to type POKE 59409,52. If the screen goes blank when you press RETURN, you have a unit with original architecture. Here's another characteristic of the early machines: if you type FOR J=l TO 1000:POKE 32768,0 :NEXT J there will be a lot of "snow" on the screen for a few moments; newer machines don't have this problem. The next thing to test is the screen writing speed. Clear the screen, and type on the top line or two: TI$="000000":FOR J=l TO 600:PRINT "A"; : NEXT J: PRINT TI$ and press RETURN. You'll get a lot of letter Afs across the screen, followed by a number. If the number is 000002 or less, you have a fast screen machine. If it's bigger, you have a slower screen unit. Don't worry the speed difference is only seen when writing characters to the screen, and you can't read that fast, anyway. There are a couple of minor cosmetics that are sometimes worth noting. Do you know which cassette unit plugs into the back connector? Is it cassette number 1 or 2? There1s a difference in board wiring either way. And finally, if you like rummaging around the inside of your PET, how many pins do you have on your ROM chips? - If 34 - you don't know how to spot a ROM" Cnipr you uuu u uccu While you have the lid open, uw iw«v~ *..- . . count the number of ROM sockets. There are other hardware differences that you'll find in various PET/CBM machines, but the above are the ones I ask for most often. Technical tyros will be glad to add to the list: what kind of RAM is fitted? How are the ROM sockets decoded? ♦• and so on. Many other differences that we notice between machines seem to be hardware, but they1re really software, It's quite surprising how different logic can make the machine appear physically different. We111 talk about spftwarer or ROM sets, a little later. Some people claim that cosmetics make a great deal of difference to a computer's usefulness. I suppose it's part of your state of mind. I've seen PETs with racing stripes and others with pink polka-dots. If the owners feel that they can write better programs that way, good. I'm thinking of painting one of mine puce-coloured in the hopes that it will keep the cat away... What System? Software There are (at time PET/CBM software ROMs. of writing) three general styles of ROM stands for Read Only Memory their programs are set at the factory and cannot be changed. That's OK - few of us have the talent and/or ambition to change the internal workings of our PET/CBM system, and even if we did we'd lose one of the great advantages of the home computer: the ability to exchange programs with others. The ROM programs, being pre-written and burned in, are there the moment we turn the power on. I call the three generations of Basic: Original, Upgrade, and 4.0. The first two generations had confusing number systems: some Commodore divisions called Original ROM sets Basic 1.0; others called the same thing Level 2 Basic. When the Upgrade system arrived, the numbers changed to Basic 2.0 and Level 3 so as to make the confusion one hundred per cent. By the time 4.0 Basic came along everybody synchronized, and the machine prints BASIC 4.0 to end the problem once and for all. Within each Basic version, there are small differences to accommodate variations in the hardware. The Business or ASCII keyboard - the one with numbers across the top row needs to be scanned in a different way than the graphics keyboard; and 80 column screens must be worked in a style that differs from the 40 column display. These differences are reflected by changing one ROM out of the set to allow for the configuration desired. The other ROMs in the set are the same regardless of hardware. - 35 - The first Basic came as part of the Original ROM set. It had a lot of limitations. You couldn't put more than 256 itens into an array; you couldn't do a successful IEEE-488 input; you had no machine language monitor; tape data files had potential problems. Most users breathed a sigh of relief when the newer Upgrade system became available. If you have Original with the message: *** cLt^risks: they are the ROM Basic, your PET will power up COMMODORE BASIC ***. Note the signal that you have the Original system. If you have this early Basic, it's worth while thinking about moving up by obtaining a replacement ROM set* You'll get technical benefits* More important, you'll be joining the mainstream of PET/CBM users and be better equipped to exchange ideas and programs. Upgrade ROM solves the above limitations. Users with Upgrade ROM will see ### COMMODORE BASIC ### when they turn the power on. Whether you call those symbols pound signs, number symbols or hash marks they clearly flag Upgrade ROM. Users with original hardware can refit their machines to Upgrade ROM, but they will have trouble in taking the next step to 4.0. It's not just that they are missing the ROM socketing to plug everything in: they would also find that screen "noise11 would start to give trouble. Basic 4.0 doesn't politely wait for the screen to be ready before delivering new information .,, characters are slapped in at full speed. Newer machines won't see any problem, but the original boards may end up with a screen that looks like a snowstorm. the The newest Basic screen announces useful, but things like better file collection, so far is 4.0 and it's easy to spot: the number. The changes here are not essential. You get new commands for disk: DLOAD, CATALOG and SCRATCH. You get somewhat handling; and that great time-waster, garbage has been speeded up so that it is no longer annoying. cosmetic; In many respects, they support ease fundamental road blocks. the 4.0 of use improvements are largely rather than eliminating There's great compatibility between the various versions of Basic, especially between Upgrade and 4.0 ROMs. Each user tends to exploit the features he is givenf however, so that programs on a time-travel back Still, they more recent model to earlier versions. are all PETs. - They 36 - may all not have be that able style to ... The- Fat 40 A New Generation Therefs fanfare or a 40 Column new kid Jim Butterfielo PET Toronto on the block. It arrived without any advanced publicity:' the Fat 40 - a large-screen 40 column PET. The most noticeable feature of the fat 40 is its big 12-inch screen. You'd almost think you had an 8032 80-column computer until you look at the keyboard and notice that the keyboard layout is graphics rather than ASCII business. When you turn it on, the screen characters come up fat and crisp. I'd heard that Commodore would be fitting 12-inch screens to their 40-column computers, and had thought that this would be only a screen change. Most of us, I think, were unprepared for a noticeably new machine with new logic. The logic board has changed so that it is similar in layout to that of the 8032. More importantly, the program logic has been changed so that we have more than a new size of machine: we have a new style. The changes are improvements, but we'll have to recover from the shock of having a new system introduced with no advanced fanfare. Host programs which work on the skinny 40fs will move to the fat 40 without trouble; I'll try to itemize possible conflict areas later in this article. A Junior 80? The fat 40 picks up much of the style of the 80 column machine. In fact, many of the features of the 8032 are now available in 40 columns, including ringing the bell, erasing part or .all of a line, and screen tabulation. Windows - the ability to scrolling, pick out are not a piece of the screen - and up/down available. The user will notice one of the features right away - as he turns the machine on, a bell chimes. Yes, there's an electronic bell in there, and it chimes any time you get near the end of a line. You can make it ring from your program with PRINT CHR$(7). The bell may be turned off or changed by poking the contents of location 1004 decimal - note that this is a different location from that used in the 80-column machine (231 decimal). keys. Another feature that's The cursor movement hard to miss is keys, the Space Insert/Delete key repeats automatically down for a moment. Very handy. The user may switch to Text mode if the repeating key, and the the key (upper/lower is held case) with PRINT CHR$(14). This is easier to remember than the POKE address, and gives you another bonus: the screen lines are readjusted to give you somewhat more pleasant text appearace. You may return to graphics with PRINT CHR$(142) . - 37 - There are commands for clearing all or part of a line; it takes a little dexterity to get them to work right since you must carefully place the cursor before using them. To clear a line, up to but not including the cursor position, PRINT CKR$(150). To clear from the cursor to the end of line, type PRINT CHR$(16) . This appears to be a error on Commodore's partr since PRINT CHR$(22) does the job on the 8032 and is more consistent. It seems as if someone has confused decimal 16 with hexadecimal 16 (22) in the coding. I would anticipate this being corrected in future ROMs; in the meantime, you can print both characters and create programs which will move gracefully through any such future correction: PRINT CHR$(16);CHR$(22). This Erase-to-End sequence is often very handy: it allows you to clear a line before printing on it. Screen tabulation is included. It will probably be less useful on a 40-column machine as compared to its 80-column big brother, but it's not hard to use. Set or reset tab positions by positioning the cursor and then printing CKR$(137) . You can move to the next tab location when desired by printing CHR$(9). System organization changes. Users who fiddle with the innards who have programs that do so - should internal changes in the fat 40. of be the machine - or aware of certain The keyboard is decoded in a different manner from previous 40-column machines; you should not depend that PEEK (151) will give you the same values for specific keys being pressed. You may still expect that this value will be 255 if no key is pressed - but the other values will have moved around. The Screen Wrap table, which tells us which rows of the screen are joined together into double lines, is still in the sane place. But this means that some of the 80-column variables needed to be moved clear of this area; values previously stored to the area 03E9 their functions, locations alone, operation. in locations E3 to E8 have been relocated to 03EF. You don't need to know all of but you must leave these new address or you'll interfere with screen/keyboard 80-column tyros might wish that all the wide screen features had been implemented on the fat 40. It probably wasnft possible: the two machines need to be organized differently. Users who go looking for the 80-column screen windows or for the input and output vectors will be disappointed: they aren't there. - 38 - Sumnary* It's an exciting new machine. and should be very convenient* told us it was. coming ... btit I in here. - 39 - It has good new features^ wish that Commodore had any case, I'm glao it s The SUPERPET: Introduction A First Joseph P. CBM Ferrari Software Dept. . The dawning fast Look of approaching. a new age The in the micromputer announcement of the industry is SUPERPET Computer by Commodore has demonstrated that a new breed of micros is on it's way. With 5 languages currently available and a whole lot of RAM spacef it makes the SUPERPET one of the most versatile computers on the market today* Although the SUPERPET has not yet been released, I was able to get my hands on one of these beasts for testing and evaluation. Since it is a pre-release version, all information contained in this article is subject to change* There is a lot to be said about the SUPERPET, but I will discuss mostly Waterloo microBASIC and its features. Powering up the SUPERPET comes up the usual Commodore Basic, but by flicking a switch located on the bottom right side of the computer will bring up Waterloo microsystems menu. All the languages available are boot-loaded from disk, with the exception of the monitor which is resident in rom. Selecting b will load Waterloo microBASIC with 30150 bytes Editor free. Features For those of you who frequently use a developer's toolkit, you will be pleased to know that Waterloo microBASIC includes the following features in their editor for the development A) of programs. DELETE B) RENUMBER C) D) E) AUTOLINE MERGE STEP Debugging Programs Here is one feature that I really like. When a program been interrupted either by the opperator or due to an error in the program, changes or modifications can be made and execution of the program can continue at the point of interruption or at any loaction desired without the loss of the current variables. has Saving and Retrieving Program Files Unlike Commodore basicr Waterloo microBASIC gives options on hov; a program can be saved and retrieved. 1) STORE -FILENAME11 Will output the program to the disk in a compressed Tv;o advantages of saving programs in this manner arc: a) b) 2) two fern. occupies less space on disk faster in storage and retrieval SAVE -FILENAME" Will save the program as it is typed on the keyboard anC will appear on the directory as a sequential file. This method should be used only while the program is under development. The advantage of this mode is that portions of the program can be saved and eventually merged with other programs by specifying a line range. 3) Retrieves command 4) LOAD "FILENAME" program OLD files that were with the •STORE1 "FILENAME11 Will load a program file that command. Any existing program new program is then loaded. 5) -saved MERGE was created with the 'SAVE1 in memory is cleared and the "FILENAME" Adds the program specified to the existing program in memory. Be very carefull when using this command, for any nev; line number comming in that exists in memory will be deleted and the new line String inserted in its place. and Variable Representation If you have ever encountered a point in program development where you can't think of an appropriate name for a variable, in nircoBASIC you won't have such a problen; because all string and variable names can have up to 31 characters with upper and lower case representation. - 41 - Repetitive Structures VJaterloo microBASIC supports a variety of statements that make coding easier to implement and also much easier to understand. Since we are* all familiure with the FOR-NEXT LOOP structure, I will may or may not know* skip it entirely and go on to some you UHILE-ENDLOOPS Delimits repetitively a if group of the value statements to be of the expression executed is true (non-zero) Fxample- X=15 WHILE X PRINT X X=X-1 ENDLOOP The example above will execute statements starting with WHILE and ending with ENDLOOP until the value of variable X is equal to zero. As you can see ENDLOOP is similar to saying GOTO only without specif ing a line number. As a point of interest, VJaterloo microEasic executes much more efficiently with structured loops in comparison with GOTO statements. LOOP-UPTIL Delimits a group of statements to be executed repetitively if the value of the expression in the UNTIL statement is true (non-zero), control is then passed to the statement immediately following the UNTIL statement. ExampleX=15 LOOP PRINT X X=X—1 UNTIL X=4 LOOP-EKDLOOP To Defines a group of exit loop, the STOP IF-THEN statements to be repeated infinitly. key is pressed or by introducing an statement. Exair.pl eX=0 LOOP PRINT X X=X+1 IF X=10 EDDLOOP THEN QUIT Execution of the statements falling v/ithin LOOP and EKDLOOP will be repeated until the value of X is equal to 10* Control is then passed to the statement following ENDLOOP. - 42 - ir-Tiini:-ELSE Host of*us accustomed to Commodore Pasic with the IF-THEN statement. MicroBASIC offers to this statement with the ELSE option. stcterccnts following ELSE are executed if the false. END IF delimits the ELSE statement group. ore familiar an extension The set cf condition is Example- COOKTER%=1 LOOP TESTERS, = INT (COUKTER% / 2)* IF TESTER% = COUKTER% PRINT COUNTERS, "NUMBER IS 2 EVEr" ELSE PRINT COUNTERS, "NUMBER IS ODD" END IF COUNTER% = COUNTERS+1 IF COUNTERS= 10 THEN QUIT ENDLOOP The above example demonstrates the power of the ELSE option with the IF-THEN statement, especially if more than one statement is to be executed in each condition. I ir.ust say that utilization of structured coding makes for far n.ore readable code. Although there are many more features that I have not covered in this article, I hope that it has given you a small taste of what to expect with Waterloo microBasic on the SUPERPET. In the next issue of The Transactor, I will cover the 6 809 ASSEMBLER/DEVELOPMENT package plus some technical aspect of the SUPERPET. The SUPERPET has brought an exciting concept to micro computers and to this end I will try and share with you as much as I can prior to its release. - 42 -