12.5. How do I build a 2400/9600 bps RS-232 interface cable? A new programming technique makes it possible to acheive 9600 bps on an unexpected Commodore 64 without the use of a Swiftlink cartridge. Daniel Dallmann of Germany is the originator of this technique and is currently writing modem drivers for some of the popular C64 terminal emulation programs to take advantage of this new technique. The interface described below is a little more complex than the one in Section 12.4, but has many advantages: * The interface generates proper EIA232 (RS-232) voltage levels. The one in Section 12.4 relies on the ability of most newer RS232 equipment to handle lower voltages. * The following interface can be used as a direct replacement for the | interface in Section 12.4, and will work will all most telecommunications programs at up to 2400 bps, while providing the necessary interfacing to allow suitably equipped applications to | operate at up to 9600 bps. (Some programs needing DCD and DTR lines | may have problems.) * if you currently own a normal RS232 interface, that interface can be modified to incorporate the new interfacing for 9600 bps operation. = (in some cases one line of the old interface has to be disconnected, see note **1 ) 9600 bps is the maximum limit this type of technique due to the timing limitations of the C64. The delay between the activation of the NMI-ha= ndler and the falling edge of rxd is too long. The handler must be called in= less than 100 cycles. That's no problem at 9600 bps, but for 19200 bau= d (the next higher baud rate), you have only 50 cycles, and that's imposs= oble (because of VIC-DMA ). On a C128 in fast mode 38400 baud may be possib= le, but I don't have a C128, so someone else has to try it out. Schematic of a very simple RS232-Interface: userport MAX232 rs232 9pin 25pin +----------+ ! ! (C) pb0--+ ! ! ! ! /! ! (B) flag2--*--------------------O< !--------- rxd 2 3 ! 9! \! !8 *7* sp2--+ ! ! ! ! *6* cnt2--+ ! ! ! ! ! *L* pb7--+ ! ! ! !\ ! (M) pa2--*--------------------! >O--------- txd 3 2 ! 11! !/ !14 *5* sp1--+ ! ! 74ls00 ! ! +-----+ ! ! ! ! ! !\ ! (D) pb1-*------>O-------------! >O--------- rts 7 4 ! 1! !3 10! !/ !7 +----! ! ! ! 2! ! ! /! ! (K) pb6--------O<-----*-------O< !--------- cts 8 5 6! !4 ! 12! \! !13 ! !--+ ! ! (1) gnd------! !5 ! !--- gnd 5 7 7! ! ! !15 (2) +5V------! ! ! ! (dsr 6 6) 14+-----+ ! ! ! ! (dcd 1 8) ! ! ! ! (dtr 4 20) c2 ! !+ ! ! | (2) +5v------------! !-----! ! (ri 9 22) ! ! 2! ! ! ! c4 +! ! ! ! (1) gnd------------! !-----! ! ! ! 6! ! ! ! c1 ! !+ ! ! +-! !-----! ! ! ! ! 1! ! ! ! ! +---------! ! 3! ! c3 ! !+ ! ! +-! !-----! ! ! ! ! 4! ! ! ! ! +---------! ! 5! ! ! ! (1) gnd--------------------! ! 15! ! ! ! (2) +5V--------------------! ! 16+----------+ (x) - connections required for a normal RS232-Interface. *x* - additional connections to go up to 9600 baud. | remark: The MAX232 needs 4 capacitors to generate +/- 10 volts to | drive the RS-232 unit. The values are as such: (in uF) | IC C1 C2 C3 C4 | ------- --- --- --- --- | MAX232 1.0 1.0 1.0 1.0 | MAX232A 0.1 0.1 0.1 0.1 | MAX232E 1.0 1.0 1.0 1.0 notes : **1 Some other interfaces use this pin. In that case you have to cu= t the connection and change it to new way. PB7 is normally used t= o receive the DSR (Data Set Ready) signal from the modem, but this= signal isn't supported by all terminal programs. Because of the= new wiring DSR will seem to be active to all 'old' programs, so that= there won't be any troubles. Top view of the used ICs: 74 LS 00 MAX232 +------+ +------+ inA -!1 \/14!- vcc +cap1 -!1 \/16!- Vcc inA -! !- inC +cap2 -! !- GND outA -! !- inC -cap1 -! !- RS232/txd inB -! !- outC +cap3 -! !- RS232/cts inB -! !- inD -cap3 -! !- TTL/^cts outB -! !- inD -cap4 -! !- TTL/txd gnd -!7 8!- outD RS232/rts -! !- TTL/^rts +------+ RS232/rxd -!8 9!- TTL/rxd +------+ 4 X NAND 2 X RS232 transmitter 2 X RS232 receiver user port (view on C64s backside) 1 2 3 4 5 6 7 8 9 10 11 12 (top) ------------------------------------ A B C D E F H J K L M N (bottom) 1 - GND A - GND 2 - +5V B - ^flag2 3 - ^reset C - pb0 4 - cnt1 D - pb1 5 - sp1 E - pb2 6 - cnt2 F - pb3 7 - sp2 H - pb4 8 - ^pc2 J - pb5 9 - atn in K - pb6 10- 9V AC L - pb7 11- 9V AC M - pa2 12- GND N - GND 12.6. How can I determine how much VDC video memory is in my C128? Here are two ways to detect whether the C128 VDC chip has 16kB or 64kB of RAM. 1 rem fred's nifty program to determine size of 8563 dram 5 w=3Ddec("cdcc"):r=3Ddec("cdda") 10 bank15: ad=3Ddec("d600"): da=3Dad+1 :rem setup ml 20 pokead,28: s=3Dpeek(da): pokeda,63 :rem select 64k 30 i=3D16896: sysw,i/256,18:sysw,iand255,19:sysw,85,31 :rem write $55 40 i=3D16896: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc1 :rem read h= ere 50 i=3D17152: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc2 :rem and he= re 60 i=3D16896: sysw,i/256,18:sysw,iand255,19:sysw,170,31 :rem write $aa 70 i=3D16896: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc3 :rem read h= ere 80 i=3D17152: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc4 :rem and he= re 90 pokead,28: pokeda,s:sysdec("ff62") :rem restore 16/64k 95 print chr$(14)chr$(147) 100 if c1=3Dc2 and c3=3Dc4 then print "16K": else print"64K" :rem did = it echo? 110 end or: POKE DEC("D600"),28:POKE DEC("D601"),63:SYS DEC("FF62"):SCNCLR If you have 16k the screen will fill with zeros; 64k will give you a ready prompt. 12.7. How can I convert my C64 to run on battery power? The July, 1990 issue of 73 Amateur Radio has an article on converting the C64 and 1541 to run on DC power. I'll summarize the C64 portion: DC Power Conversion for the C64 1. Locate component CR4 on the circuit board. Mark the positive hole on the board. Desolder and remove the component. 2. Rest :-) 3. Connect the marked hole to +12V. 4. Desolder and remove VR1. Looking down at the component side of the board, connect a wire from the vacant right hand hole and run it to +12V. 5. Locate L5. It will probably be in one of two locations. On the older version, desolder the right hand leg and lift. On the newer version, desolder the top leg and lift. 6. Connect +5V to the empty L5 hole. 7. Locate the R37 and R100 pads. Use a continuity meter to find the pad= s that are connected. Desolder and lift these legs. You will insert a 60 Hz clock here. 8. You could generate this clock using a variety of methods. Here's one= : +12V __________________________| | | | C1 R1 ______|_______ |-)|-+-/\/\/-+-----|6 8 | | | \ | | | XTAL1 / R2 | MM5369 | | | \ | | |-)|-+-------+-----|5 1|---> 60 Hz (to R37 pad) C2 | 2 | --------------- | GND C1 =3D 30 pF C2 =3D 3-15 pF (variable) XTAL1 =3D 3.57 MHz crystal R1 =3D 1k R2 =3D 10M It is suggested that you use a short length of shielded coax cable to connect the 60 Hz output to the R37/R100 pad. Also, it is suggested that you use a frequency counter to tune the abov= e circuit to exactly 60 Hz. This conversion would work well if you wanted to use the C64 in a car o= r powered by a solar set-up. 12.7. How do I build a GEOCable interface? The interface is simply a cable between the printer and the user port. = The pinout is as follows: pin on 64 pin on printer a Ground 33 Grond b Flag 2 11 Busy c PB0 2 Data 1 d PB1 3 Data 2 e PB2 4 Data 3 f PB3 5 Data 4 h PB4 6 Data 5 j PB5 7 Data 6 k PB6 8 Data 7 l PB7 9 Data 8 m PA2 1 Strobe n Ground 16 Ground Superscript uses the same cable, but has the following change: b Flag 2 10 Acknowledge Either wiring will work with either program, but the GEOCable wiring is preferred. + 12.8. How do I connect my Commodore printer to an IBM PC? + Look for the plans for the interface at: + http://www.coast.net/simtel/msdos/info/c64topc.zip #! rnews 32909 Path: pravda.aa.msen.com!news1.best.com!news.texas.net!newsfeed.concentri= c.net!news-master!mariner.cris.com!Gaelyne From: Gaelyne@cris.com (Gaelyne Moranec) Newsgroups: comp.sys.cbm Subject: COMP.SYS.CBM: General FAQ, v3.1 Part 8/9 Supersedes: Followup-To: comp.sys.cbm Date: 5 Jul 1996 06:26:30 GMT Organization: Brain Innovations, Inc. Lines: 710 Approved: news-answers-request@MIT.EDU Message-ID: Reply-To: brain@mail.msen.com NNTP-Posting-Host: mariner.cris.com Summary: This posting contains answers to questions that commonly surface= in comp.sys.cbm. This posting will tell you enough to get your computer connected to a network, fixed, and/or enhanced. This f= ile should be read by new users of comp.sys.cbm before posting to th= e group. It should also be proofread by users who are currently active in comp.sys.cbm. Keywords: CBM FAQ Help List C64 C128 VIC Modem X-Newsreader: TIN [version 1.2 PL2] Archive-name: cbm-main-faq.3.1.p8 Comp-answers-archive-name: commodore/main-faq/part8 News-answers-archive-name: commodore/main-faq/part8 Comp-sys-cbm-archive-name: main-faq/part8 Version: 3.1 Last-modified: 1996/05/15 -----------------------------------------------------------------------= ---- Table of Contents (for this file) --------------------------------- 13. Enhancements 13.1. How do I increase my disk drive's transfer speed? 13.1.1. What is a Fastloader? 13.1.2. What is a ROM replacement? 13.1.3. What are the disadvantages to using a drive enhancement? 13.1.4. What other things can I do to speed up the drive? 13.2. How do I expand my disk drive's capacity? 13.2.1. What is a Hard Drive? Who sells them? 13.2.2. What is 64NET? + 13.2.3. What is SERVER64? 13.3. How do I expand my computer's RAM capacity? 13.3.1. What is a Ram Expansion Unit? 13.3.2. What is a geoRAM Unit? 13.3.3. What is battery backed GeoRAM (BBGRam)? 13.3.4. What is a RAMLink? 13.3.5. What is a RAMDrive? 13.3.6. How do I expand my C128 Video RAM? 13.3.7. How do I expand my C64 internally? 13.3.8. How do I expand my C128 internally? 13.4. How do I increase my computer's speed? 13.4.1. How do I increase my Commodore 64's speed? 13.4.2. How do I increase my Commodore 128's speed? 13.4.3. Can I speed up other Commodore computers? 13.5. How do I increase my computer screen's resolution? 13.5.1. How do I increase my Commodore 64's screen resolution? 13.5.2. How do I increase my Commodore 128's screen resolution? 13.5.3. How do I increase other CBM computers' resolutions? 13.6. How do I increase my computer's serial transfer speed? 13.7. How do I increase my computer's sound quality? 13.8. What other ways can I expand my Commodore computer? -----------------------------------------------------------------------= ---- 13. Enhancements If you like to tinker with your Commodore to get the best possible performance out of it, these suggestions and products may help you in your quest. 13.1. How do I increase my disk drive's transfer speed? Since the introduction of the Commodore VIC-20 and the slow serial bus, Commodore owners have been plagued by slow disk access. There are two ways to allevaiet this problem, fastloaders and ROM replacements. 13.1.1. What is a Fastloader? The Commodore 1541 drive and any drive attached to a VIC-20, C64, Plus = 4, C116, or C16 suffer from very slow read and write times. This is cause= d by Commodore's haste in "economizing" the IEEE-488 bus used in the PET series of Commodore computers into the serial bus. The IEEE-488 bus transferred 8 bits of data at a time, and performed some synchronizatio= n steps, or handshaking, between bytes. Commodore reduced the path to 1 = bit but kept most of the original handshaking, most of which is redundant w= hen transferring 1 bit at a time. Early on, some developers noted that, si= nce the 1541 drive was intelligent enough to execute a program loaded into = its RAM, and the Commodore operating system calls to do disk I/O could be bypassed, they could write software that sped up the loading process by modifying or completely changing the protocol used on the serial bus. = This is the idea behind fastload cartridges like FastLoad, Mach 5, etc... 13.1.2. What is a ROM replacement? As programs became more complex, some programs would not operate with this approach. Thus, the developers then rewrote parts of the Commodor= e operating system on both the computer and the disk drive, and replaced = the parts of them that did disk I/O with new pieces of code. This is the i= dea behind JiffyDos and others. The basic idea in speeding up the disk drive is to use more than 1 line to transfer data, effectively doubling the transfer speed. Then, reduc= e synchronization requirements in the protocol to a bare minimum, as synchronizing time is time not being used to do transfers. The fastload cartridges are handicapped somewhat by the need to transfe= r the portion of the program that runs in the disk drive to the drive usi= ng the slow speed evry time the drive is used. This can be alleviated somewhat, but the replacement operating system replacement products lik= e JiffyDos win the race since they do not need to load code into the driv= e, as it is already there. 13.1.3. What are the disadvantages to using a drive enhancement? The products are not 100% compatible, as they sacrifice reliability for speed somewhat. That means that a program that does not load due to an error while using a fastload product will probably load without the fastloading enabled. Also, some programs can not handle the change in loading or reading speed, so these enhancements yield about 90% compatibility. 13.1.4. What other things can I do to speed up the drive? You can also increase the speed of disk drive operation by organizing consecutive parts of a file on disk to fall a certain number of disk sectors apart. This is called the interleave or interleaving factor. Normally, a 1541 disk drive space consecutive parts of a file 10 sector= s apart, but you can change that a little to minimize the time needed to = find consecutive parts of a file. Also, the C128 in 128 mode hooked up to a 1571 or 1581 has a built-in fastloading scheme called burst loading. Therefore, if you are in 128 = mode and hooked up to a 1581 or a 1571, you already have this feature. Howe= ver, the 128 in 64 mode reverts back to the old slow serial routines, and th= e 128 in any mode using a 1541 cannot use the burst load routines. 13.2. How do I expand my disk drive's capacity? Software Support International sells the 1541 RAMBoard, which will incr= ease you 1541's memory. SSI used to market a similar board for the 1571, bu= t they have depleted stock and no longer carry it. You can also expand your disk drives on board RAM capacity, and use tha= t extra memory for better archiving performance. + 13.2.1. What is a Hard Drive? Who sells them? + A hard disk drive is a non-removable ramdom access medium similar that + allows one to store very large quantities of data. Hard disk drives + are mandatory on most newer computer systems, but are usually optional + for Commodore 8-bit computers. However, the faster load time, the + greater capacity, and the ease of use make them desirable. CMD sells hard drives for the Commodore 64 and 128. They range in size= s from 50 Megabytes on up. In comparison, a Commodore 1581 drive holds .8 Megabytes. + 13.2.2. What is 64NET? If you have access to an IBM of some kind (preferrably with a hard driv= e), you can use a product called 64NET to hook the drive up to the Commodor= e. 64NET consists of a cable which connects the CBM User Port and the IBM Parallel Port together, and a program that runs on both machines. The program on the IBM is a standard application, but the CBM part is a wed= ge, so it should integrate seamlessly with some programs. There is now jus= t one copy of the product. Registered users simply receive a 64NET.KEY file that enables SAVING. There is a student discount of AUS$40.00. The product is at version 1.82.45N BETA and has full OPEN/CLOSE/READ/RE= ADST support, can support 4 gigabyte IBM partitions, and have a built-in off-board monitor which includes some dos wedge functions. The IBM programs have link-based helpsystems and will run on any IBM machine. The registered version allows saving of files, wheras the PD version does not. The registered BETA version is available (with upgrade to final version free) for AUS$50.00, while the unregistered version is free. These prices do not include the cable that is required for operation. The ca= ble, program, and more information can be received from Paul Gardner-Stephen= at gardners@ist.flinders.edu.au. Also, the system can be ordered from: In Europe: Performance Peripherals Europe Germany +49 2227 3221 Michael Renz +49 2227 3221 And in Australia from: Russell Alphey +61 3 4278558 (A/H r.alphey@dce.vic.gov.au Paul Gardner-Stephen +61 8 277 7479 (A/H) Versions are available for the C64 and C128, and a C65 version is close= to completion. + 13.2.3. What is SERVER64? SERVER64 is a product like 64NET, in that it allows you to use an IBM P= C as a large hard drive. However, unlike 64NET, SERVER64 does not requir= e a connection to the user port and a special boot program be run. Inste= ad, the system uses an X1541 cable to attach the Commodore 64 serial port t= o an IBM parallel port. The product is available at: ftp://ccnga.uwaterloo.ca/pub/incoming/SERVER64.ZIP Documentation is available at: ftp://ccnga.uwaterloo.ca/pub/incoming/SERVER64.TXT Both are expected to move to the /pub/cbm/emulation directory soon. 13.3. How do I expand my computer's RAM capacity? 13.3.1. What is a Ram Expansion Unit? The original form of RAM expansion available to the C64 and C128 were t= he Commodore REUs (Ram Expansion Units). These REUs plug into the cartrid= ge port, and provide 128K (the C=3D1700), 256K (the C=3D1764), or 512K (th= e C=3D1750) of additional RAM. This RAM is not true system RAM however; simply adding a 512K REU to yo= ur system does NOT mean that your word processor will suddenly be able to = edit 512K larger documents. A REU will only be used by a program that was written to take advantage of an REU. As a caveat on this, you can use = your REU as additional RAM for a RAMLink . An REU can be used as a Commodore Disk Drive by running the program RAMDOS. This will allow users to save and load files from the REU. If you are using CP/M, the REU can be configured to act like a disk dri= ve under CP/M. Although the C=3D1764 was originally advertised for the C64, and the 17= 00 and 1750 for the C128, any of the three RAM expanders will work with either= the C64 or the C128. Note that if you want to use any of them on the C64, = you need a heavy duty power supply. The 1764 comes with such a power suppl= y. There are hardware hacks that will expand a 1700 or a 1764 to 512K; additionally, a 512K REU can be expanded to 1 Meg or more. The plans a= re at ftp://ccnga.uwaterloo.ca/pub/cbm/hardware. While it appears complet= ely safe to upgrade your REU to 1 Meg, there have been some reports of prob= lems with REU's upgraded to 2 Megs. Sometimes the REU will work fine for a = while, then fail. If you are upgrading your REU, it would probably be wise to= stop at 1 Meg. If you are still memory hungry, consider a CMD RAMLink. If you don't wish to do it yourself, there are people who will do it fo= r you, for a fee. The following individual will do RAM expansions on the= 17xx series. He Has lots of experience doing these modifications. His current quoted price for expanding a 1750 from 512k to 1 meg is $60. Ca= ll for the latest prices. In addition he can do repairs on the RAM. Raymond Day 9601 Morton Taylor Road Belleville, MI 48111-1328 r.day@genie.geis.com (Contact) (313) 699-6727 On a similar note, Software Support International sells a device called the 1750 clone, which functions just like a 1750. It is not as expanda= ble as the real 1750, but can be used where a 1750 is recommended or requir= ed. 13.3.2. What is a geoRAM Unit? When Commodore REUs became hard to find several years back, Berkeley Softworks introduced geoRAM, which is a 512K RAM expander. This RAM expander gives you all of the advantages of a 1750 with GEOS. However,= it is not 1750 compatible, so it will not work like a 1750 outside of GEOS; i= t is transparent to other programs. (As a caveat on this, see the info on RAMLink)). DesTerm128 2.0 will not work with a geoRAM plugged in. A special version of GEOS 2.0 (which is bundled with geoRAM) is necessary= to use geoRAM. No additional power supply is necessary to use geoRAM. Th= e geoRAM can be upgraded to 2MB also. Contact Jens-Michael Gross at grossibr@buran.fb10.tu-berlin.de for information on upgrading the geoRA= M. The geoRAM can be used without GEOS if it is installed in a RAMDrive or RAMLink. See Section 13.3.4 for information. 13.3.3. What is battery backed GeoRAM (BBGRam)? Battery Backed GeoRam is a products marketed by Performance Peripherals Incorporated. The unit is actually a geoRAM clone, but has battery bac= kup included within the unit. The unit can be ordered in the following configurations: 512kBytes $92.97US 1MBytes $123.97US 2MBytes $165.97US 13.3.4. What is a RAMLink? RAMLink (RL) is a RAM expansion devices from CMD. The RAM in these dev= ices can be partitioned into native mode partitions (with dynamically alloca= ted subdirectories), or 1541, 1571, or 1581 emulating partitions. Thanks t= o the 15x1 emulating partitions, software does not have to be specifically wr= itten to run with a RL. The RL devices should appear as a disk drive to most programs. One notable exception is DesTerm v2.00, which does not work with the RL. There are few other exceptions, and no major commercial program has a problem running with an RL . The deciding factor seems t= o be whether or not the program uses a drive's internal ram. The RL does no= t 'mimic' having this type of internal drive ram, and if a program relies= upon this it will not run. The heavily copy protected Digital Solution= s' programs use this drive ram for its burst loading routines. So, even though a Maverick/RamBoard combination will write a copy of it to the R= L, it will fail to boot. However, these programs, once booted from a 1571= , will use and access all of RL's many functions for lightening fast load= s and saves. RL has ts own power sources, separate from the computer. When you turn= off the computer, the power to the RL is left on, leaving its contents intact. This power supply always remains on. (For safety from power outages, battery backups are also available.) RAMLink is a powerful, large device. It can be configured from 0 to up to 16 Megs of RAM, using industry standard 1x8 (100ns) 1 Meg and 4 M= eg SIMMs.(1x9, and faster Simms can be used.) The RL is constructed so th= at the user may easily add additional SIMMs at any time. RAMLink has a port into which you can plug a Commodore REU or a geoRAM. You can configure RAMLink to either leave this RAM device alone, or to = use the REU/geoRAM's RAM just as if it were part of the RAMLink's RAM. A RAMLink also has a pass-through port, in which you can plug a normal C64/C128 cartridge, and a parallel port for a CMD hard drive. The latt= er greatly improves the transfer speed of data between your computer and t= he hard drive. If you have a geoRAM, the geoRAM can be plugged into the RL . the geoRAM then acts as an extra piece of ram-based disk storage. The RL comes with a very well documented, thorough, and easily referenced User Manual. Contact CMD for more details.