Path: utzoo!mnetor!uunet!husc6!uwvax!rutgers!cbmvax!hedley From: hedley@cbmvax.UUCP (Hedley Davis) Newsgroups: comp.sys.cbm Subject: Re: Good C64 Assemblers Needed Message-ID: <3079@cbmvax.UUCP> Date: 4 Jan 88 17:36:09 GMT References: <500@nuchat.UUCP> <2650@killer.UUCP> Reply-To: hedley@cbmvax.UUCP (Hedley Davis) Organization: Commodore Technology, West Chester, PA Lines: 39 In article <2650@killer.UUCP> elg@killer.UUCP (Eric Green) writes: > >The RAMdisk driver appears to be fairly slow for sequential text I/O, >apparently because it has to flop the entire 8K(?) RAMdos into memory for each >call to chrin or chrout. Ouch. Well almost. When reading or writing a file with no other disk accesses in between ( like checks of error channel or other accessing other files or commands ), the RAMDOS actually only has to setup a single byte access per call to CHRIN/CHROUT. Every 256 of these fast accesses it has to do the swap to set up the next page. The CHRIN call, in the case of no chkout, and the page is set properly, takes 137 clock cycles ( I just measured it ). This is pretty puny. The first version did do a full swap per byte, but considering that the DOS is 8K, and you have to swap twice per call, and each swap moves 8 K in and 8 K out yeilding 32K bytes of movement per call. The fastest you could do that on a C64 would be about 30 times a second. >I get about the exact same performance with a 1571 or 1581. You must be kidding. I don't know how you write code, but I tend to use several small files as opposed to one big one for source. This tends to keep things modualar, not to mention speeding up the load/edit/write cycle considerably. Also, using devpack, the source files all end up at the end of the directory. Try writing a program to just open and close 5 files at the end of a 30 file diskette. Run it on both. The RAMDOS doesn't really spend alot of time banging its head around trying to find the file. ( Its alot faster ). We've assembled BASIC for the C128 using the DEVPACK. Basic has two 1571 diskettes of source code in about 138 files. This takes about 3 hours from diskette. Once loaded into the RAMDISK, it takes about 40 minutes. Note that this leaves lots of time to copy the files to the ramdisk. Hedley