Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!rutgers!mtune!codas!killer!elg From: elg@killer.UUCP (Eric Green) Newsgroups: comp.sys.cbm Subject: Re: Good C64 Assemblers Needed Message-ID: <2650@killer.UUCP> Date: 3 Jan 88 21:26:13 GMT References: <500@nuchat.UUCP> Organization: Bayou Telecommunications Lines: 109 in article <500@nuchat.UUCP>, seven@nuchat.UUCP (David Paulsen) says: > In article <3043@cbmvax.UUCP>, hedley@cbmvax.UUCP (Hedley Davis) writes: >>In article <493@nuchat.UUCP> seven@nuchat.UUCP (David Paulsen) writes: > ->In article <650@umbc3.UMD.EDU>, pete@umbc3.UMD.EDU (Pete Hsi ) writes: > ->> I am in search of a good C64 assembler package and am soliciting for your > ->> reviews of such. >> thing that really helps is the 1750 REU with a resident RAMDOS. >> Copy your source files to ramdisk, and the sucker will really fly. Hedley mentiones the DEVpack. Has it been released? If so, my check is in the mail.... 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. I get better performance with a SFD-1001 with any decent IEEE card (or even not-so-decent ones like the Skyles IEEE-Flash, an excercise in overpriced cheapness -- an EPROM, a PIA, and a couple of popcorn TTL). I get about the exact same performance with a 1571 or 1581. What the RAMdisk driver IS good for, is loading. Since this is only a single Kernal call, the RAMdos only has to be swapped in once, and kazoom, instant loading. I copy my assembler, editor, linker, and other utilities to my 1750, off of a boot disk, then shove my source disk into the 1571 and hack away. There's also other inanities with the RAMdos... for example, if your program crashes and you must reboot, and there was a file open on the 1750, that file is gone, kapoof. Very irritating if that file was your latest source code, and the reason it was open, was that your assembler was reading it and somehow ended up in never-never land. For my assembler, I'm currently using CASM 2.1 (as posted to the net eons ago), using the Spinnaker Power-C/128 package (Proline's C-Power/128 repackaged). It is a bit slow, even with the speedups I've made to it (great having the sources, huh?). Takes a couple of minutes to compile a 1,000 line file. I recently fired up my old Commodore Macro Assembler to create some patches for an existing program, and it was so much faster as to be ridiculous... but, when you're up to REAL projects, 5K lines, 10K lines, or ore, no way are you going to assemble the whole thing all at once whenever you make a trivial bug fix... we're talking about 5 minutes per 5K, even with the fastest C-64 drives (8050's with IEEE-Flash). Waiting a couple of minutes, then spending 30 seconds linking the object files together, is much more effective under such circumstances. Here's how to use the RAMdisk with C-Power/128: monitor l "shell2",08 a 1528 nop a 1529 nop a 152a nop s "shell3",08,1400,31a4 The above nop's out the part of the initialization which changes the i/o vectors to Power-C's own i/o routines (which, amongst other things, handles their own RAMDISK driver, which doesn't know about the 1750, alas). The only problem is that the Commodore RAMdisk driver gets blasted out of memory whenever you hit run/stop-restore. With a 1571, that's no real problem... I have both the RAMdisk driver and shell/shell3 on my workdisk, so I can just "bye" and reboot in seconds. One of these days, I'll have to track that down and fix it, too. The motivation just isn't there, though... since I'm only using C-Power as an environment to run my assembler from, I haven't had much opportunity to hit run/stop-restore. Then change the program "shell": 1 graphic clr : rem otherwise, shell3 overloads it, due to RAMdisk driver and where it says "shell2", change that to "shell3". If you've ever done "C" development with C-Power, one of the irritances is the amount of time it takes to link in the library, at least, off of a 1571 or SFD-1001 or other "traditional" Commodore drive (the 1581, with its full-track buffer, should be faster). This is due to the amount of time it takes for the drive to search through all those directory sectors, sequentially, looking for all those itsy bitsy library files, and the seek time as the head grinds back and forth between the directory track and file tracks. I libraried together all those itsy bitsy files with Library-128. Then, when I want to do "C"-work, I unlibrary them onto the RAMdisk -- Library works at least as fast as Fred's copy program, and the 1571 doesn't grind back and forth as described above, since it's all one file. Linking off the RAMdisk is pretty quick... it still takes a few seconds, but compared to all that grinding, it's a dream (that's one of the reasons I have the 1750 on my 128, instead of the IEEE-Flash/SFD-1001 combo I had before). After all, RAM has no seek time :-). > Sounds great... I'd really like to do this with my 1700, but I don't have a > copy of RAMDOS yet! (As Sam Kinison would say: "Ohhhhh OHHHHHHHHHHHHHHH!!!") I downloaded my copy from GENIE. > Since I'm not fortunate enough to have DEVPACK yet, I'm still using my Commodore > _Macro Assembler Editor_ to write stuff for the 128, which is a total hassle. > Seems like I'm ALWAYS rebooting my machine & nuking my programming environment. > Does RAMDOS come with a version for the 64 side of my 128 so that I can run > the CBM/MAE at high-speed. That would definitely ease the pain a bit... There IS a 64 version, apparently, but I didn't find it on GENIE. Maybe I should try Q-Link (which I haven't used much, since they raised their rates to about the same as GENIE's). I solve the reboot hassle simply by having two machines :-}. Because I'm doing the opposite -- developing on the C-128, for the C-64. Is ANYBODY fortunate enough to have DEVPACK yet? I WANT IT!!! If anybody can tell me how to get it, you'll have my eternal gratitude... too bad a gumbo doesn't keep too well when shipped via UPS, or you'd have more than that :-). URGH.... 100 line tomes are SOOO long... -- Eric Lee Green elg@usl.CSNET Snail Mail P.O. Box 92191 {cbosgd,ihnp4}!killer!elg Lafayette, LA 70509 "There's someone in my head, but it's not me...." -PF