ag@floyd.ATT.COM (03/10/89)
Does anyone know how to use RMA to assemble device drivers and descriptors? I tried defining the type of module in PSECT, and after linking, the module header doesn't seem to conform with other device drivers. For instance, the mode byte at $0D isn't there - instead, the device driver name begins there! I didn't even try to do a device descriptor with the assembler yet. Also, I can't seem to find any labels in the V.XXX format in os9defs or anywhere. Anyone know where they are? Finally, I ended up using debug, save, and verify to get a device driver and device descriptor in what seemed to be the proper format. When I tried to iniz the device, all I got was Error #237 - Out of RAM (not the more familiar error, 207) I thought that buying the os9 developer's kit would allow me to write device drivers and descriptors. I hope I wasn't wrong.... P.S. Please don't tell me to go buy ASM. I've spent far too much already. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ________ /_______/| __________________________ | ||----->/ / Ag Primatic | ||<----/_________________________/ ag@floyd.ATT.com |_______|/ / / / / / / / / / / / /oooooooo/ /_________________________/ /oooooooo/ --------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ag@floyd.ATT.COM (03/17/89)
(My apologies to Pete Lyall and Mike Knudsen for posting parts of something I just e-mailed to them...) I finally got asm last night. And I'm $40 poorer. But now I have a better chance of doing device drivers. Still getting error #257, or out of system-space RAM. Don't know why or how, but adjusting the size of my stack doesn't seem to have any effect on the error. I tried putting some printing code in my device driver init section to see when the error #257 occurs. Didn't even get to it. It seems to happen when the system does the I$Attach call, before it even does the init part of my device driver. Somehow, I don't have any more room in my system memory. Mfree says I've got 176k left. I'm guessing the system memory limitation is 64K, same as any other process. Any suggestions, anyone? Ag Primatic ag@floyd.ATT.com
donp@bucket.UUCP (Don Park) (03/24/89)
A way to fix that problem of running out of space might be simply because your not giving the assembler more space to work with via a #k command.. But I have a problem of my own: I have a radio shack delux rs-232 cart a non-upgraded MPI (Not sure if it was pre-upgraded when I got it) and a problem talking at rates above 300. At something like 1200, I can get the AT echoed back but the OK comes in too fast, I'm not sure if its the 232 cart, the MPI or what. I can talk at 2400 under Rs-Dos but zip-o with Os9, I'm using the standard ACIA drivers. Any iders? thanx Don
pete@wlbr.EATON.COM (Pete Lyall) (03/25/89)
Sounds like you need the IRQ hack to get your RS-232 I/O up to snuff: ====================== Cut here ====================== IRQ HACK INSTRUCTIONS by Pete Lyall Maybe you've heard of the IRQ hack that you can perform to the Deluxe RS-232 pack, so that IRQ interrupts are not 'lost', but didn't know how to do it. Here's the information you need: Basically, you are connecting the IRQ pin of the 6551 to the IRQ pin of the 6809.. On the pak: Locate the little blue jumper wire near the edge connector. One of the solder pads it is connected to has the label '1' near it. Desolder both ends of this jumper, and solder one end of a long wire (1-2 feet - enough to comfortably reach the back of the coco) to the solder pad near the '1' label. Burn (with the tip of the soldering iron) or file a small hole in the side of the pak so that the wire can be passed through it without being pinched. Attach a miniature phone plug (male) to the end of the wire. On the Coco3: Locate the resistor that does the pullup of the IRQ line (CPU pin 3) to the 5vdc. It is R2, and I believe it is the second from the left in a cluster of resistors to the right-rear of the 6809 chip (as seen from the keyboard). Solder a wire to the end of that resistor that is closest to the keyboard (the side that also ties to CPU pin 3). Carefully route this wire to the back of the machine, and mount a miniature female phone jack there. Poof. That's all there is to it. No software changes are required - the existing ACIAPAK driver will work (better!) as is. If you run multiple paks (or other interrupt devices that could benefit from the IRQ hack), just tie them all together at the male plug that will plug into the coco3. If you wish to perform this procedure for the coco2, the majority of the work is the same, except that the resistor that you should connect to inside the coco is R14. As verification, ensure that one side of this resistor ties directly to pin 3 of the 6809, and tack the wire onto this side. -- Pete Lyall Contel Corp.(818) 706-5693 Compuserve: 76703,4230 (OS9 Sysop) OS9_Net: (805)-985-0632 (24hr 300/1200/2400) Internet: pete@wlbr.eaton.com UUCP: {hacgate,jplgodo,voder}!wlbr!pete
koonce@brahms.berkeley.edu (tim koonce) (03/25/89)
You say you can't communicate at anything higher than 300 baud? First, the obvious questions: - What program are you using? Because of multi-tasking overhead, writing programs that work well under OS9 Level 2, especially with the CoCo 3 ACIAPAK driver, requires a bit of care. Home-grown programs aren't really recommended unless you have a pretty good idea of what you're doing. - Have you installed the IRQ hack? The GIME in the CoCo3 isn't too clever about handling interrupts. Wiring the interrupt line from the ACIA chip directly to the CPU gets around this. For that matter, some people have discovered that the interrupt lines inside the RS232 pak aren't correctly wired. Since most RSDOS terminal programs use polling rather than interrupts, it rarely shows up there. - How old is the RS232 pak? Some older RS232 paks used a version of the 6551 ACIA which wouldn't work well at the 2mhz clock speed. Some people have solved a lot of problems by simply replacing the 6551. Hope this helps. - Tim Koonce